Dieser Kurs vermittelt PHP-Entwicklern die notwendigen Fähigkeiten, um ihre Anwendungen vor zeitgenössischen Angriffen über das Internet zu schützen. Web-Schwachstellen werden an PHP-bezogenen Beispielen erläutert, die weit über die OWASP Top Ten hinausgehen. Dabei werden verschiedene Injektionsangriffe, Script-Injektionen, Angriffe auf die Session-Verwaltung in PHP, unsichere direkte Objektverweise (IDOR), Probleme im Zusammenhang mit Dateiuploads und viele weitere Aspekte behandelt. Die sicherheitsrelevanten Schwachstellen in PHP werden nach Standard-Kategorien gruppiert vorgestellt: fehlende oder unzureichende Eingabevalidierung, fehlerhafte Fehler- und Ausnahmeverarbeitung, unsachgemäßer Einsatz von Sicherheitsfeatures sowie zeit- und zustandsbezogene Probleme. Für den letzten Bereich werden Angriffe wie die Umgehung von open_basedir, Denial-of-Service durch „magic floats“ oder Hash-Tabellen-Kollisionsangriffe behandelt. In allen Fällen lernen die Teilnehmer die wichtigsten Techniken und Funktionen kennen, um die aufgeführten Risiken abzumildern.
Ein besonderer Fokus liegt auf der Sicherheit auf Client-Seite, indem Sicherheitsprobleme von JavaScript, Ajax und HTML5 adressiert werden. Zudem werden eine Reihe sicherheitsrelevanter PHP-Erweiterungen vorgestellt, wie hash, mcrypt und OpenSSL für die Kryptografie sowie Ctype, ext/filter und HTML Purifier zur Eingabevalidierung. Die besten Hardening-Praktiken werden im Zusammenhang mit der PHP-Konfiguration (Einstellung von php.ini), Apache und dem Server im Allgemeinen erläutert. Abschließend wird ein Überblick über verschiedene Sicherheits-Testtools und -Techniken gegeben, die Entwickler und Tester nutzen können, einschließlich Security-Scannern, Penetration Testing und Exploit-Packs, Sniffers, Proxy-Servern, Fuzzing-Tools sowie statischen Quellcode-Analysatoren.
Sowohl die Einführung von Schwachstellen als auch die Konfigurationspraktiken werden durch eine Reihe praktischer Übungen unterstützt, die die Folgen erfolgreicher Angriffe aufzeigen, demonstrieren, wie Abhilfetechniken angewendet werden können, und den Einsatz verschiedener Erweiterungen und Tools vorstellen.
Teilnehmer dieses Kurses werden
- Grundkonzepte der IT-Sicherheit und des sicheren Programmierens verstehen
- Web-Schwachstellen jenseits der OWASP Top Ten kennenlernen und wissen, wie man sie vermeidet
- Client-seitige Schwachstellen und sichere Coding-Praktiken erlernen
- eine praktische Vorstellung von Kryptografie gewinnen
- Lernen, verschiedene Sicherheitsfeatures von PHP zu nutzen
- Tippische Fehler im Quellcode kennenlernen und wissen, wie man sie vermeidet
- Über aktuelle Schwachstellen in PHP-Frameworks informiert werden
- Praktische Kenntnisse im Umgang mit Security-Testtools erwerben
- Ressourcen und weiterführende Literatur zum sicheren Programmieren erhalten
Zielgruppe
Entwickler
Mehr Informationen...