Beherrschung von Web-Sicherheitslücken

In diesem Kurs lernen Sie die häufigsten Web-Sicherheitslücken kennen und wie Sie diese ausnutzen können. Sie werden sich mit SQL-Injection, Dateieinbindung, Cross-Site Scripting (XSS), Dateiupload, Befehlsinjektion und Verzeichnisdurchquerungslücken vertraut machen. Außerdem erfahren Sie, wie Sie diese Sicherheitslücken mit verschiedenen Techniken und Tools ausnutzen können.

CybersicherheitWebentwicklung

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

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 SELECT und information_schema die 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.

Lehrer

labby
Labby
Labby is the LabEx teacher.