In diesem Schritt verwenden Sie sqlmap, ein automatisiertes SQL-Injection-Tool, um die Schwachstelle auszunutzen, die wir zuvor identifiziert haben. SQL-Injection ermöglicht es Angreifern, direkt mit einer Datenbank zu interagieren, und sqlmap hilft, diesen Prozess zu automatisieren, indem es Parameter testet und Informationen extrahiert.
- Stellen Sie zunächst sicher, dass Sie sich im Projektverzeichnis befinden, in dem wir alle Befehle ausführen werden:
cd ~/project
- Führen Sie sqlmap gegen die anfällige Seite aus. Der Parameter
--cookie
ist hier von entscheidender Bedeutung, da DVWA eine Authentifizierung erfordert. Ersetzen Sie <PHPSESSID>
durch den Cookie-Wert, den Sie beim Anmelden bei DVWA erhalten haben:
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" --batch
Das Flag --batch
teilt sqlmap mit, die Standardoptionen automatisch zu verwenden, was für Anfänger, die das Tool lernen, hilfreich ist.
-
Wenn sqlmap Sie fragt, ob Sie die Sitzung speichern möchten, geben Sie "Y" ein und drücken Sie die Eingabetaste. Dies ermöglicht es Ihnen, den Scan später fortzusetzen, wenn erforderlich.
-
Um herauszufinden, welche Datenbanken auf dem Server vorhanden sind, verwenden wir das Flag --dbs
, das für "Datenbanken" steht:
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" --dbs --batch
- Die Ausgabe zeigt die verfügbaren Datenbanken an. Sie sollten zwei Datenbanken aufgeführt sehen:
available databases [2]:
[*] dvwa
[*] information_schema
dvwa
ist unsere Ziel-Datenbank, während information_schema
eine Standard-MySQL-Datenbank ist, die Metadaten enthält.
- Lassen Sie uns nun die Tabellen in der dvwa-Datenbank untersuchen. Der Parameter
-D
gibt den Datenbanknamen an, und --tables
listet deren Inhalt auf:
sqlmap -u "http://localhost:8000/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=<PHPSESSID>; security=low" -D dvwa --tables --batch
Erläuterung der wichtigsten Parameter:
--cookie
: Enthält Ihre Sitzungsanmeldeinformationen, um den authentifizierten Zugang aufrechtzuerhalten
--batch
: Führt sqlmap im nicht-interaktiven Modus mit Standardauswahlen aus
--dbs
: Entdeckt die verfügbaren Datenbanknamen auf dem Server
-D
: Wählt eine bestimmte Datenbank aus, die untersucht werden soll
--tables
: Ruft die Liste der Tabellen in der ausgewählten Datenbank ab