Secure Coding in PHP

 

The course provides essential skills for PHP developers necessary to make their applications resistant to contemporary attacks through the Internet. Web vulnerabilities are discussed through PHP-based examples going beyond the OWASP top ten, tackling various injection attacks, script injections, attacks against session handling of PHP, insecure direct object references, issues with file upload, and many others. PHP-related vulnerabilities are introduced grouped into the standard vulnerability types of missing or improper input validation, incorrect error and exception handling, improper use of security features and time- and state-related problems. For this latter we discuss attacks like the open_basedir circumvention, denial-of-service through magic float or the hash table collision attack. In all cases participants will get familiar with the most important techniques and functions to be used to mitigate the enlisted risks.

 

A special focus is given to client-side security tackling security issues of JavaScript, Ajax and HTML5. A number of security-related extensions to PHP are introduced like hash, mcrypt and OpenSSL for cryptography, or Ctype, ext/filter and HTML Purifier for input validation. Hardening best practices are given in connection with PHP configuration (setting php.ini), Apache and the server in general. Finally, an overview is given to various security testing tools and techniques which developers and testers can use, including security scanners, penetration testing and exploit packs, sniffers, proxy servers, fuzzing tools and static source code analyzers.

 

Both the introduction of vulnerabilities and the configuration practices are supported by a number of hands-on exercises demonstrating the consequences of successful attacks, showing how to apply mitigation techniques and introducing the use of various extensions and tools.

 

Audience

§ Web Developers

§ Architects

§ Testers

 

Course Objectives

Participants attending this course will:

§ Understand basic concepts of security, IT security and secure coding

§ Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them

§ Learn client-side vulnerabilities and secure coding practices

§ Have a practical understanding of cryptography

§ Learn to use various security features of PHP

§ Learn about typical coding mistakes and how to avoid them

§ Be informed about recent vulnerabilities of the PHP framework

§ Get practical knowledge in using security testing techniques and tools

§ Get sources and further readings on secure coding practices

 

Prerequisites

Advanced Web application development

 

Outline

§ IT security and secure coding

§ Web application security

§ Web application vulnerabilities

§ Client-side security

§ Practical cryptography

§ PHP security services

§ PHP Environment

§ Principles of security and secure coding

§ Common coding errors and vulnerabilities

§ Privacy violation

§ Security testing techniques

§ Knowledge sources

 

Copyright © 2017 Jodayn