Einleitung
In diesem Lab lernen Sie die grundlegenden Schritte zur Initialisierung und Verifizierung der sqlmap-Umgebung unter Kali Linux. sqlmap ist ein Open-Source-Penetrationstest-Tool, das den Prozess der Erkennung und Ausnutzung von SQL-Injection-Schwachstellen automatisiert und die Übernahme von Datenbankservern ermöglicht. Das Verständnis, wie man sqlmap richtig einrichtet und damit interagiert, ist entscheidend für jeden, der Sicherheitsbewertungen von Webanwendungen durchführen möchte. Sie werden die Installation verifizieren, das umfangreiche Hilfemenü erkunden, verschiedene Ausführlichkeitsstufen (verbosity levels) verstehen und eine Ziel-URL für Tests identifizieren.
Zugriff auf das Kali Linux Terminal
In diesem Schritt greifen Sie auf das Kali Linux Terminal zu, die primäre Schnittstelle für die Interaktion mit sqlmap und anderen Kommandozeilen-Tools. Das Terminal bietet eine leistungsstarke Umgebung zur Ausführung von Befehlen und zur Anzeige ihrer Ausgaben.
Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis ~/project befinden. Dies ist das Standard-Arbeitsverzeichnis für Ihre Lab-Umgebung.
cd ~/project
Öffnen Sie nun ein neues Terminalfenster, falls noch keines geöffnet ist, oder stellen Sie sicher, dass Sie sich im bestehenden Terminal befinden. Sie sollten eine Eingabeaufforderung sehen, die der von labex@labex-vm:~/project$ ähnelt.
Überprüfung der sqlmap-Installation mit sqlmap --version
In diesem Schritt überprüfen Sie, ob sqlmap korrekt installiert und in Ihrer Kali Linux-Umgebung zugänglich ist, indem Sie seine Version abfragen. Dies ist eine schnelle Methode, um zu bestätigen, dass das Tool einsatzbereit ist.
Führen Sie den folgenden Befehl in Ihrem Terminal aus:
sqlmap --version
Sie sollten eine Ausgabe sehen, die der folgenden ähnelt und die installierte Version von sqlmap anzeigt:
sqlmap version 1.x.x.x ## oder eine ähnliche Versionsnummer
Diese Ausgabe bestätigt, dass sqlmap installiert ist und von der Kommandozeile aus ausgeführt werden kann.
Erkundung des Haupt-Hilfemenüs mit sqlmap -h
In diesem Schritt erkunden Sie das Haupt-Hilfemenü von sqlmap. Das Hilfemenü bietet einen umfassenden Überblick über alle verfügbaren Optionen und deren Funktionalitäten, was unerlässlich ist, um zu verstehen, wie das Tool effektiv eingesetzt wird.
Führen Sie den folgenden Befehl aus, um das Haupt-Hilfemenü anzuzeigen:
sqlmap -h
Dieser Befehl gibt eine lange Liste von Optionen, Kategorien und Beispielen aus. Scrollen Sie durch die Ausgabe, um sich einen allgemeinen Überblick über die Fähigkeiten von sqlmap zu verschaffen. Sie werden Abschnitte für Zielspezifikation, Request-Optionen, Optimierung, Injektion, Erkennung und mehr bemerken.
_
_ __ _ __| | __ ___ ___
| '_ \| '__| |/ / / __|/ __|
| |_) | | | < \__ \\__ \
| .__/|_| |_|\_\ |___/|___/
|_|
... (gekürzte Ausgabe) ...
Usage: python3 sqlmap [options]
Options:
--version Show program's version number and exit
-h, --help Show this help message and exit
-v VERBOSE Verbosity level: 0-6 (default 1)
Target:
At least one of these options has to be provided to define the
target(s)
-u URL, --url=URL Target URL (e.g. "http://www.site.com/vuln.php?id=1")
-g GOOGLEDORK Process Google dork results as target URLs
... (gekürzte Ausgabe) ...
Diese Ausgabe ist entscheidend für das Verständnis der verschiedenen Parameter, die Sie mit sqlmap verwenden können.
Verständnis der Ausführlichkeitsstufen mit der Option -v
In diesem Schritt lernen Sie die Ausführlichkeitsstufen (verbosity levels) in sqlmap mithilfe der Option -v kennen. Ausführlichkeitsstufen steuern die Menge der Informationen, die sqlmap während seiner Ausführung anzeigt. Dies kann für das Debugging oder für detailliertere Einblicke in seine Operationen sehr nützlich sein.
Die Option -v reicht von 0 (still) bis 6 (debug). Probieren wir einige aus, um den Unterschied zu sehen.
Versuchen Sie zuerst eine niedrige Ausführlichkeitsstufe (z. B. 0):
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -v 0 --batch
Sie werden sehr wenig Ausgabe bemerken, da sqlmap im Stillen läuft. Die Option --batch wird hinzugefügt, um interaktive Aufforderungen für diese Demonstration zu vermeiden.
Versuchen Sie als Nächstes eine höhere Ausführlichkeitsstufe (z. B. 3):
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -v 3 --batch
Sie werden deutlich mehr Ausgabe sehen, einschließlich HTTP-Anfragen, Antworten und detaillierter Informationen über den Testprozess. Diese Stufe ist oft nützlich, um zu verstehen, was sqlmap im Hintergrund tut.
_
_ __ _ __| | __ ___ ___
| '_ \| '__| |/ / / __|/ __|
| |_) | | | < \__ \\__ \
| .__/|_| |_|\_\ |___/|___/
|_|
... (gekürzte Ausgabe) ...
[HH:MM:SS] [INFO] starting @ HH:MM:SS /YYYY-MM-DD/
[HH:MM:SS] [INFO] fetched data: 'cat=1'
[HH:MM:SS] [INFO] testing connection to the target URL
[HH:MM:SS] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[HH:MM:SS] [INFO] the target URL is not protected by any kind of WAF/IPS/IDS
[HH:MM:SS] [INFO] testing if the target URL is stable
[HH:MM:SS] [INFO] target URL is stable
[HH:MM:SS] [INFO] testing for GET parameter 'cat'
[HH:MM:SS] [INFO] GET parameter 'cat' is vulnerable.
... (gekürzte Ausgabe) ...
Das Verständnis der Ausführlichkeitsstufen hilft Ihnen, die angezeigte Informationsmenge zu steuern, was für eine effiziente Analyse während Penetrationstests entscheidend ist.
Identifizierung der URL der anfälligen Testanwendung
In diesem Schritt identifizieren Sie eine öffentlich verfügbare, anfällige Webanwendungs-URL, die zum Testen von sqlmap verwendet werden kann. Für ethisches Hacking und Lernzwecke ist es unerlässlich, ausgewiesene Testumgebungen oder Anwendungen zu verwenden, für deren Tests Sie ausdrückliche Erlaubnis haben.
Für dieses Labor verwenden wir http://testphp.vulnweb.com/listproducts.php?cat=1 als unsere Ziel-URL. Diese URL ist absichtlich anfällig für SQL-Injection und wird von Acunetix zu Testzwecken bereitgestellt.
Sie können sich diese URL einfach notieren. In zukünftigen Labs werden Sie diese URL mit sqlmap verwenden, um verschiedene SQL-Injection-Angriffe durchzuführen.
Die URL lautet: http://testphp.vulnweb.com/listproducts.php?cat=1
Diese URL enthält einen GET-Parameter cat, der bekanntermaßen anfällig ist. Dies wird Ihr Ziel für nachfolgende sqlmap-Übungen sein.
Zusammenfassung
In diesem Labor haben Sie erfolgreich Ihre sqlmap-Umgebung in Kali Linux initialisiert und verifiziert. Sie haben gelernt, wie Sie auf das Terminal zugreifen, die sqlmap-Version überprüfen, das umfassende Hilfemenü erkunden und die Bedeutung von Ausführlichkeitsstufen für detaillierte Ausgaben verstehen. Darüber hinaus haben Sie eine öffentlich verfügbare, anfällige Webanwendungs-URL (http://testphp.vulnweb.com/listproducts.php?cat=1) identifiziert, die als Ziel für zukünftige SQL-Injection-Übungen dienen wird. Diese grundlegenden Schritte sind entscheidend für die effektive Nutzung von sqlmap in Penetrationstestszenarien.


