Beherrschung von Web-Sicherheitslücken ist ein angeleiteter Einsteigerkurs darüber, wie unsichere Eingabeverarbeitung zu einer ausnutzbaren Schwachstelle in einer Webanwendung wird. In acht praktischen Labs führst du absichtlich verwundbare PHP-Anwendungen in Docker aus, untersuchst ihr Verhalten und Quellcodeausschnitte und testest sie mit Firefox oder im Terminal.
Der Lehrplan verfolgt mehrere unterschiedliche Angriffswege: SQL-Injection in Datenbankabfragen, lokale und entfernte Dateieinbindung, reflektiertes Cross-Site Scripting, unsicherer Datei-Upload, Betriebssystem-Befehlsinjektion und PHP-Code-Injection. Jede Übung verbindet ein verwundbares Programmiermuster mit einem beobachtbaren Ergebnis wie Authentifizierungsumgehung, Datenextraktion, Skriptausführung, Dateizugriff oder einer Web-Shell.
Was du lernen wirst
Nach Abschluss dieses Kurses kannst du:
- Absichtlich verwundbare Anwendungen mit Docker starten und über Firefox, URL-Parameter, Formulare und Hackbar mit ihnen interagieren
- SQL-Injection anhand von Fehlern und Wahr-falsch-Tests erkennen, numerische von Zeichenkettenkontexten unterscheiden und die Spaltenzahl einer Abfrage bestimmen
- Mit
UNION SELECTundinformation_schemadie Struktur einer MySQL-Datenbank ermitteln, Daten abrufen und eine unsichere Anmeldeabfrage umgehen - Statische von benutzergesteuerter PHP-Dateieinbindung unterscheiden und lokale oder entfernte Einbindung mit kontrollierten Payloads bestätigen
- Reflektierte XSS-Payloads erstellen und einfache, groß-/kleinschreibungsabhängige Filter mit alternativen Elementen und Ereignisbehandlern umgehen
- Datei-Upload-Prüfungen untersuchen, eine PHP-Testseite oder Befehls-Shell hochladen und optionale Umgehungen über Dateierweiterungen erkunden
- Unsichere Eingaben in Betriebssystembefehlen ausnutzen, zusätzliche Befehle ausführen und eine auf das Lab beschränkte Reverse Shell herstellen
- Aus einer an PHP
eval()übergebenen Zeichenkette ausbrechen, um Funktionen aufzurufen, Serverdateien zu lesen, neue Dateien zu schreiben und eine einfache Web-Shell zu erstellen
Für wen dieser Kurs geeignet ist
Der Kurs richtet sich an angehende Web-Sicherheitstester, Entwickler, CTF-Lernende und Einsteiger in die Cybersicherheit, die verwundbaren PHP-Code unter Anleitung mit funktionierenden Proof-of-Concept-Payloads verbinden möchten. Er passt gut, wenn du zunächst im Browser experimentieren und URLs direkt verändern möchtest, bevor du zu einem vollständigen Workflow mit Interception Proxy übergehst.
Voraussetzungen: Empfohlen werden grundlegende Linux-Terminalkenntnisse sowie Vertrautheit mit URLs, Abfrageparametern, HTML-Formularen und einfachen Webanfragen. Erste PHP- und SQL-Kenntnisse erleichtern die Quellcodeerklärungen, die Labs erläutern jedoch die jeweils benötigte Syntax.
Lernumgebung: Die Labs verwenden isolierte grafische LabEx-Linux-Umgebungen mit Firefox, Terminal, Docker, lokalen verwundbaren Webanwendungen und einer bereitgestellten Hackbar-Erweiterungsdatei. Einige Übungen laden öffentliche Docker-Images herunter, und eine Demonstration der entfernten Dateieinbindung ruft einen öffentlichen PentesterLab-Payload ab; der Kurs verlangt kein Konto bei einem Drittanbieter.
Häufig gestellte Fragen
Benötige ich Burp Suite oder einen anderen Interception Proxy?
Nein. Die Übungen verwenden Firefox, direkte URL- und Formulareingaben, Browser-Entwicklerwerkzeuge, Hackbar und Terminalbefehle. Das Abfangen und Verändern von rohem HTTP-Verkehr mit Burp Suite gehört nicht zu diesem Kurs.
Werden alle verwundbaren Anwendungen lokal gehostet?
Die Anwendungen laufen lokal in Docker-Containern innerhalb des Labs. Die Einrichtungsbefehle laden öffentliche Images aus Container-Registries herunter, und die Übung zur entfernten Dateieinbindung lädt einen öffentlich gehosteten Demonstrations-Payload. Diese Lektion ist daher nicht vollständig offline.
Was ist hier der Unterschied zwischen Befehls- und Code-Injection?
Das Lab zur Befehlsinjektion setzt nicht vertrauenswürdige Eingaben in einen Systembefehl ein und demonstriert die Ausführung zusätzlicher Betriebssystembefehle. Beim Code-Injection-Lab gelangt die Eingabe in eine PHP-Zeichenkette für eval(), sodass injizierte PHP-Funktionen Dateien lesen oder schreiben und eine Web-Shell erzeugen können.
Vermittelt der Kurs die Behebung jeder Schwachstelle?
Er erklärt unsichere Muster und führt Prüfungen wie Dateierweiterungs-, MIME-Typ- und Größenvalidierung ein, doch die Praxis konzentriert sich vor allem auf die Ausnutzung. Sichere Abfrageparametrisierung, systematische Ausgabekodierung, produktionsgerechte Upload-Architektur und vollständige Behebungstests erfordern weiterführendes Lernen.




