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.
Web developers, architects, and testers
Preparedness: Advanced Web application
- Vulnerabilities, attacks and mitigationsstrong
OWASP top 10 and other frequent vulnerabilities: SQL Injection and other injection flaws, including CSS injection, command injection and cookie injection, Cross-Site Scripting: persistent and reflected XSS, XSS through HTML/CSS (base injection), protections in browsers, Cross-Site Request Forgery (CSRF), vulnerabilities in session management, session handling, malicious file execution, insecure direct object reference, uploading executable files, problems with error and exception handling, PHP type comparison, improper use of cryptographic features, problems with random, weak PRNG, challenges of password management, cracking hashed passwords with search engines, file and SQL race conditions, concurrency and session handling in PHP, open_basedir race condition hacking, denial-of-service by magic float numbers, hashtable collision attack.
- PHP-specific vulnerabilities and protections:
- Vulnerability tools
security scanners (Nikto/Wikto, Nessus, w3af, wapiti), SQL injection tools (SqlMap, SqlNinja), knowledge sources (CVE, NVD, BSI, SHIELDS), Metasploit penetration testing resources, finding security holes (Google hacking, SiteDigger, FSDB, GHDB), sniffers (Wireshark), proxy servers (BurpSuite, Paros proxy), fuzzing robustness and security testing tools, static source code analyzers (RIPS, Pixy).
exploiting SQL injection step-by-step; crafting Cross-Site Scripting attacks through both reflective and persistent XSS; committing Cross-Site Request Forgery (CSRF); malicious file execution; insecure direct object reference; uploading and running executable code; cracking hashed values with search engines; information leakage through error reporting. Using w3af, wapiti, sqlmap, CVE, google hacking databases, WireShark, Burp Suite and Pixy.
Other relevant courses