Injection-Schwachstellen entstehen, wenn eine Anwendung zulässt, dass benutzergesteuerte Daten die Bedeutung eines Shell-Befehls oder einer Datenbankabfrage verändern. Dieser Kurs macht diesen Grenzbruch mit Command- und SQL-Injection-Übungen gegen absichtlich verwundbare lokale Anwendungen sichtbar.
Zuerst erstellst du Payloads manuell und erkennst, warum Trennzeichen, Anführungszeichen, Kommentare, boolesche Ausdrücke und UNION SELECT das Verhalten ändern. Anschließend automatisierst du mit sqlmap Erkennung, Schema-Enumeration, Datenextraktion und einen OS-Shell-Ablauf, bevor du eine eigenständige Datenbank-Challenge löst.
Was du lernen wirst
- Einen Command-Injection-Punkt erkennen und die Ausführung mit Linux-Befehlstrennzeichen bestätigen.
- Einfache Wortfilter mit Shell-Escapes und Platzhaltern umgehen und eine Beweisdatei auf dem Ziel erstellen.
- SQL-Fehler auslösen und mit einem booleschen Payload eine verwundbare Anmeldung umgehen.
- Spaltenanzahl und sichtbare Positionen mit
ORDER BYundUNION SELECTbestimmen. - SQLite-Schemametadaten abfragen und vorbereitete Benutzernamen und Passwörter über die Webantwort extrahieren.
- Mit sqlmap SQLi erkennen, Datenbanken ermitteln, eine Tabelle auslesen und eine interaktive OS-Shell versuchen.
- In der Abschluss-Challenge zwei SQLi-Einstiegspunkte selbstständig validieren und eine vorbereitete Kundentabelle exportieren.
Für wen dieser Kurs geeignet ist
Dieser Kurs auf mittlerem Niveau richtet sich an Websicherheitslernende, die Injection-Mechanismen verstehen möchten, bevor sie auf Automatisierung setzen. Er eignet sich für angehende Penetrationstester, Application-Security-Lernende und Entwickler, die konkrete Beispiele für System- und Datenrisiken durch unsichere Befehle und dynamisches SQL benötigen.
Voraussetzungen: Sicherer Umgang mit Linux-Terminal und curl, grundlegende HTTP-GET/POST-Anfragen und URL-Codierung sowie erste SQL-Kenntnisse zu SELECT, WHERE, Spalten und Tabellen.
Lernumgebung: Ein Ubuntu-22.04-Terminal mit sqlmap und isolierten, absichtlich verwundbaren lokalen Webanwendungen auf den Ports 5000, 8080 und 80. Alle Befehle und extrahierten Beispieldaten bleiben in der Kursumgebung.
Häufig gestellte Fragen
Benötige ich vorab fortgeschrittene SQL-Kenntnisse?
Nein. Die Labs erklären Abfragekontext, boolesche Logik, Kommentare, Spaltenzählung und die UNION SELECT-Abfolge. Grundlegendes SQL-Vokabular erleichtert jedoch die Übungen.
Werden die Injection-Payloads an echte Systeme gesendet?
Nein. Jedes Ziel ist eine bewusst für Übungen eingerichtete lokale Anwendung. Befehle, Zugangsdaten, Kundensätze und Tokens sind vorbereitete Labordaten.
Warum kommt manuelle SQL-Injection vor sqlmap?
Die manuellen Übungen zeigen, wie Eingaben die Abfragesyntax verändern und sichtbare Spalten Daten offenlegen. So kannst du sqlmaps Techniken verstehen und die automatische Enumeration gezielt eingrenzen, statt die Ausgabe als Blackbox zu behandeln.
Erreicht der Kurs Betriebssystem-Befehlsausführung?
Ja, innerhalb der isolierten Labs. Die Command-Injection-Übung führt ausgewählte Linux-Befehle aus; das sqlmap-Lab führt durch --os-shell gegen ein vorbereitetes PHP-Ziel. Die Aktionen verlassen die lokale Umgebung nicht.





