sqlmap: Optionen und Hilfe (Deutsch)

sqlmap: Optionen und Hilfe (Deutsch)

Sqlmap ist ein Open-Source SQL-Injection Tool für Penetrationstester, welches nicht nur bei der Erkennung, sondern auch der Ausnutzen von SQLi Lücken hilft. Die folgende Liste bietet eine deutschsprachige Übersicht aller Optionen und Parameter.

Verwendung

Verwendung: python sqlmap.py [Optionen]

Optionen:
  -h, --help            Grundlegende Hilfe anzeigen und beenden
  -hh                   Erweiterte Hilfe anzeigen und beenden
  --version             Versionsnummer des Programms anzeigen und beenden
  -v VERBOSE            Ausführlichkeitslevel: 0-6 (Standardmäßig 1)

  Ziel:
    Mindestens eines der folgenden Parameter muss angegeben werden, um das Ziel zu definieren

    -d DIRECT           Verbindungs-String für direkte Datenbankverbindung
    -u URL, --url=URL   Ziel URL (z.B. "http://www.site.com/vuln.php?id=1")
    -l LOGFILE          Ermittle Ziele aus Burp oder WebScarab Proxy Log Datei
    -x SITEMAPURL       Ermittle Ziele aus remote sitemap(.xml) Datei
    -m BULKFILE         Lade Ziele aus einer Textdatei
    -r REQUESTFILE      Lade HTTP request aus einer Datei
    -g GOOGLEDORK       Verwende Google Dork Ergebnisse als Ziel-URLs
    -c CONFIGFILE       Lade Optionen aus einer Konfigurations INI Datei

  Request:
    Mit diesen Optionen können Sie angeben, wie die Verbindung zur Ziel-URL hergestellt werden soll

    --method=METHOD     Erzwinge Verwendung einer bestimmten HTTP-Methode (z.B. PUT)
    --data=DATA         Daten, die über POST gesendet werden soll
    --param-del=PARA..  Zeichen zum Teilen von Paramtern (Standardmäßig: ",")
    --cookie=COOKIE     HTTP Cookie Inhalt
    --cookie-del=COO..  Zeichen zum Teilen von Cookies (Standardmäßig: ";")
    --load-cookies=L..  Datei mit Cookies im Netscape- / wget-Format
    --drop-set-cookie   Ignoriere Set-Cookie Anweisungen
    --user-agent=AGENT  Verwendende spezifizierten HTTP User-Agent
    --random-agent      Verwendende zufälligen HTTP User-Agent
    --host=HOST         Verwendende spezifizierten HTTP Host
    --referer=REFERER   Verwendende spezifizierten HTTP Referer
    -H HEADER, --hea..  Zusätzlicher Header (z.B. "X-Forwarded-For: 127.0.0.1")
    --headers=HEADERS   Zusätzliche Header (z.B. "Accept-Language: fr\nETag: 123")
    --auth-type=AUTH..  HTTP Authentifizierungstyp (Basic, Digest, NTLM oder PKI)
    --auth-cred=AUTH..  HTTP Authentifizierungsdaten (Name:Passwort)
    --auth-file=AUTH..  PEM cert/private Key Datei für HTTP Authentifizierung
    --ignore-code=IG..  Ignoriere HTTP Fehlercode (z.B. 401)
    --ignore-proxy      Ignoriere Standard Proxy Einstellungen des Systems
    --ignore-redirects  Ignoriere Umleitungsversuche
    --ignore-timeouts   Ignoriere Verbindungstimeouts
    --proxy=PROXY       Verwende Proxy zum Verbinden zur Ziel URL
    --proxy-cred=PRO..  Proxy Authentifizierungsdaten (Name:Passwort)
    --proxy-file=PRO..  Lade Proxy-Liste aus Datei
    --tor               Verwende Tor Anonymisierungsnetzwerk
    --tor-port=TORPORT  Verwende alternativen Tor Port
    --tor-type=TORTYPE  Tor Proxy Typ (HTTP, SOCKS4 oder SOCKS5 (Standard))
    --check-tor         Prüfe, ob Tor richtig verwendet wird
    --delay=DELAY       Verzögerung (Sekunden) zwischen jeder HTTP-Anfrage
    --timeout=TIMEOUT   Wartezeit bis zum Timeout. (Standardmäßig: 30 Sekunden)
    --retries=RETRIES   Anzahl Wiederholungsversuche bei Timeouts (Standardmäßig: 3)
    --randomize=RPARAM  Verwende zufälligen Wert für den/die angegebenen Parameter
    --safe-url=SAFEURL  URL-Adresse, die während des Tests wiederholt aufgerufen werden soll
    --safe-post=SAFE..  POST Daten, die zur sicheren URL gesendet werden sollen
    --safe-req=SAFER..  Lade sicheren HTTP Request aus einer Datei
    --safe-freq=SAFE..  Teste Anfragen zwischen zwei Besuchen gegen eine sichere URL
    --skip-urlencode    Deaktiviere URL-Enkodierung der Payloads
    --csrf-token=CSR..  Parameter, welches den anti-CSRF token beinhaltet
    --csrf-url=CSRFURL  URL aus welcher der anti-CSRF token extrahiert werden soll
    --force-ssl         Erzwinge Verwendung von SSL/HTTPS
    --hpp               Verwende "HTTP parameter pollution" Methode
    --eval=EVALCODE     Führe spezifizierten Python-Code vor jedem Request aus (z.B. "import hashlib;id2=hashlib.md5(id).hexdigest()")

  Optimierung:
    Mit diesen Optionen können Sie die Leistung von sqlmap optimieren

    -o                  Aktiviere alle Optimierungsoptionen
    --predict-output    Vorhersage allgemeiner Query-Ausgaben
    --keep-alive        Verwende persistente HTTP(s) Verbindung
    --null-connection   Ermittle Seitenlänge ohne HTTP-Antworttext
    --threads=THREADS   Maximale Anzahl gleichzeitiger HTTP(s) Anfragen (Standardmäßig: 1)

  Injection:
  	Mit diesen Optionen können Sie angeben welche Parameter getestet werden sollen und eigene Payloads oder tampering ("Verschleierung") Skripte definieren. 

    -p TESTPARAMETER    Zu testende(r) Parameter
    --skip=SKIP         Überspringe Tests für spezifizierte Parameter
    --skip-static       Überspringe Tests für Parameter, welche nicht dynamisch zu sein scheinen
    --param-exclude=..  Regular Expression, um Parameter aus dem Test auszuschließen (z.B. "ses")
    --dbms=DBMS         Tests auf spezifizisches DBMS (Datenbankmanagementsystem) eingrenzen
    --dbms-cred=DBMS..  DBMS Zugangsdaten (Benutzer:Passwort)
    --os=OS             Tests auf spezifizisches Betriebssystem eingrenzen
    --invalid-bignum    Verwende große Zahlen, um ungültige Werte für Paramter zu erzielen
    --invalid-logical   Verwende logische Operationen, um ungültige Werte für Paramter zu erzielen
    --invalid-string    Verwende zufällige Zeichenketten, um ungültige Werte für Paramter zu erzielen
    --no-cast           Deaktiviere Payload casting
    --no-escape         Deaktiviere Escaping Mechanismus
    --prefix=PREFIX     Zeichenkette, die vorne an die Payload angehängt werden soll
    --suffix=SUFFIX     Zeichenkette, die hinten an die Payload angehängt werden soll
    --tamper=TAMPER     Verwende angegebene Scripte zur Verschleierung der Payloads

  Erkennung:
	Mit diesen Optionen können Sie das Verhalten in der Erkennungsphase konfigurieren

    --level=LEVEL       Test Stufe/Niveau (1-5, Standardmäßig: 1)
    --risk=RISK         Test Risiko (1-3, Standardmäßig: 1)
    --string=STRING     Zeichenkette, welche zu einer positiven Bewertung (True) führen soll
    --not-string=NOT..  Zeichenkette, welche zu einer negativen Bewertung (False) führen soll
    --regexp=REGEXP     Regular Expression, welche zu einer positiven Bewertung (True) führen soll
    --code=CODE         HTTP-Statuscode, welche zu einer positiven Bewertung (True) führen soll
    --text-only         Vergleiche Seiten ausschließlich anhand des Textinhalts
    --titles            Vergleiche Seiten ausschließlich anhand des Seitentitels

  Methoden:
    Mit diesen Optionen können Sie die SQL-Injection Methoden konfigurieren

    --technique=TECH    Zu verwendende SQL-Injection Methoden (Standardmäßig: "BEUSTQ")
    --time-sec=TIMESEC  Anzahl Sekunden zur Verzögerung von DBMS-Antworten (Standardmäßig 5)
    --union-cols=UCOLS  Maximale Anzahl von Spalten zum Testen von "UNION query" basierten SQL injections
    --union-char=UCHAR  Zu verwendendes Zeichen zum Bruteforcen der Spaltenanzahl
    --union-from=UFROM  Tabelle zur Verwendung im FROM Teil der UNION-Abfragen
    --dns-domain=DNS..  Die für einen "DNS exfiltration" Angriff zu verwendende Domain
    --second-order=S..  Angabe einer alternativen URL, auf der die Ergebnisse angezeigt werden

  Fingerprint:
    -f, --fingerprint   Führe einen umfangreichen Fingerprint zur Ermittlung der DBMS Version aus

  Auflistung:
	Mit diese Optionen können Sie DBMS Informationen, Struktur und Daten in den Tabellen auflisten oder eigene SQL Befehle ausführen.

    -a, --all           Alles auflisten
    -b, --banner        DBMS banner auflisten
    --current-user      DBMS aktuellen Benutzer auflisten
    --current-db        DBMS aktuelle Datenbank auflisten
    --hostname          DBMS server Hostnamen auflisten
    --is-dba            Prüfen, ob aktueller DBMS Benutzer ein DBA (Datenbankadministrator) ist
    --users             DBMS Benutzer auflisten
    --passwords         DBMS Benutzer Passwörter (hashes) auflisten
    --privileges        DBMS Benutzer Privilegien auflisten
    --roles             DBMS Benutzerrollen auflistens
    --dbs               DBMS Datenbanken auflistens
    --tables            DBMS Datenbank Tabellen auflistens
    --columns           DBMS Datenbank Tabellenspalten auflistens
    --schema            DBMS Schemata auflistens
    --count             Ermittle Anzahl der Tabelleneinträge
    --dump              Erzeuge Dump für ausgewählte Datenabnk Tabelle 
	--dump-all          Erzeuge Dump für alle Datenbank Tabellen 
    --search            Suche nach Spalten, Tabellen und/oder Datenbank Namen
    --comments          DBMS Kommentare auflisten
    -D DB               Zu verwendende DBMS Datenbank
    -T TBL              Zu verwendende DBMS Tabelle(n)
    -C COL              Zu verwendende DBMS Tabellenspalte(n)
    -X EXCLUDECOL       Nicht zu verwendende DBMS Tabellenspalte(n)
    -U USER             Zu verwendende(r) DBMS Benutzer
    --exclude-sysdbs    Beim Auflisten von Tabellen System Datenbanken ausschließen
    --pivot-column=P..  Pivot Spalten Name
    --where=DUMPWHERE   Beim Tabellen Dumping zu verwendende WHERE-Bedingung 
    --start=LIMITSTART  Erster aufzulistender Tabelleneintrag
    --stop=LIMITSTOP    Letzter aufzulistender Tabelleneintrag
    --first=FIRSTCHAR   Erstes aufzulistende Ausgabezeichen
    --last=LASTCHAR     Letztes aufzulistende Ausgabezeichen
    --sql-query=QUERY   Auszuführender SQL Befehl
    --sql-shell         Starte interaktive SQL Shell (Eingabeaufforderung)
    --sql-file=SQLFILE  Führe SQL-Befehle aus spezifizierter Datei aus

  Brute force:
	Diesen Optionen können zur Durchführung von Bruteforce Prüfungen verwendet werden

    --common-tables     Überprüfe die Existenz von häufig auftretenden Tabellennamen
    --common-columns    Überprüfe die Existenz von häufig auftretenden Spaltennamen

  Injizierung benutzerdefinierter Funktionen:
	Diese Optionen können zur Erstellung benutzerdefinierter Funktionen verwendet werden

    --udf-inject        Eigene Funktion injizieren
    --shared-lib=SHLIB  Lokaler Pfad der Bibliotheken

  Dateisystem Zugriff:
	Diese Optionen können verwendet werden, um auf das dem DBMS zugrunde liegende Dateisystem zuzugreifen

    --file-read=RFILE   Lese Datei aus dem Dateisystem des DBMS
    --file-write=WFILE  Schreibe lokale Datei in das Dateisystem des DBMS
    --file-dest=DFILE   Absoluter Dateipfad, in das geschrieben werden soll

  Betriebssystem Zugriff:
	Diese Optionen können verwendet werden, um auf das dem DBMS zugrunde liegende Betriebssystem zuzugreifen

    --os-cmd=OSCMD      Führe Betriebssystembefehl aus
    --os-shell          Interaktive Betriebssystembefehl Shell (Eingabeaufforderung)
    --os-pwn            Eingabeaufforderung für eine OOB Shell, Meterpreter oder VNC
    --os-smbrelay       One click Eingabeaufforderung für eine OOB Shell, Meterpreter oder VNC
    --os-bof            Ausführen eines Stored Procedure Buffer Overflow
    --priv-esc          Ausführen einer Database Process User Privilege Escalation
    --msf-path=MSFPATH  Pfad zur lokalen Metasploit Framework Installation
    --tmp-path=TMPPATH  Absoluter Pfad zum remote Verzeichnis für temporäre Dateien

  Zugriff auf Windows Registry:
	Diese Optionen können verwendet werden, um auf die Registrierungsdatenbank des dem DBMS zugrunde liegendem Windows-Systems zuzugreifenn

    --reg-read          Lese den Wert eines Windows Registrierungsschlüssels
    --reg-add           Schreibe den Wert eines Windows Registrierungsschlüssels
    --reg-del           Lösche einen Windows Registrierungsschlüssel
    --reg-key=REGKEY    Windows Registrierungsschlüssel
    --reg-value=REGVAL  Windows Registrierungsschlüsselwert
    --reg-data=REGDATA  Daten des Windows Registrierungsschlüsselwerts
    --reg-type=REGTYPE  Typ des Windows Registrierungsschlüsselwerts

  Allgemein:
	Mit diesen Optionen können grundlegende Einstellungen konfiguriert werden

    -s SESSIONFILE      Lade Session aus einer gespeicherten (.sqlite) Datei
    -t TRAFFICFILE      Protokolliere den gesamten HTTP-Verkehr in eine Textdatei
    --batch             Frage nicht nach Benutzereingaben, verwende das Standardverhalten
    --binary-fields=..  Spalten mit binärem Inhalt (z.B. "digest")
    --check-internet    Überprüfe Internetverbindung, bevor das Ziel angesprochen wird
    --crawl=CRAWLDEPTH  Durchsuche die Webseite (nach weiteren Seiten) ausgehend von der Ziel-URL
    --crawl-exclude=..  Regular Expression, um Seiten vom Durchsuchen auszuschließen (z. B. "logout")
    --csv-del=CSVDEL    Trennzeichen, welches in der CSV-Ausgabe verwendet werden soll (Standardmäßig ",")
    --charset=CHARSET   Blind SQL injection Zeichensatz (z.B. "0123456789abcdef")
    --dump-format=DU..  Format der Dump Daten: CSV, HTML oder SQLITE (Standardmäßig: CSV)
    --encoding=ENCOD..  Zeichencodierung für Daten-Abfragen (z.B. GBK)
    --eta               Zeige für jede Ausgabe die geschätzte Dauer an
    --flush-session     Leer Session Dateien für das aktuelle Ziel
    --forms             Analysiere und teste Formulare auf der Ziel-URL
    --fresh-queries     Ignoriere Abfrageergebnisse, die in der Session-Datei gespeichert sind (Cache)
    --har=HARFILE       Protokolliere den gesamten HTTP-Datenverkehr in einer HAR-Datei
    --hex               Verwende DBMS-Hexfunktion(en) für Daten-Abfragen
    --output-dir=OUT..  Pfad für Benutzerdefiniertes Ausgabeverzeichnis
    --parse-errors      Analysiere und zeige DBMS-Fehler aus dem Response (Antwort des Servers)
    --save=SAVECONFIG   Speichere Optionen in eine INI Konfigurations-Datei
    --scope=SCOPE       Regular Expression zum Filtern von Zielen aus der bereitgestellten Proxy Log (Protokoll-datei)
    --test-filter=TE..  Wähle Tests nach Payloads und/oder Titel (z.B. ROW)
    --test-skip=TEST..  Überspringe Tests nach Payloads und/oder Titel (z.B. BENCHMARK)
    --update            Aktualisiere sqlmap

  Sonstiges:
    -z MNEMONICS        Verwende verkürzte Merkhilfen (e.g. "flu,bat,ban,tec=EU")
    --alert=ALERT       Führe Befehl(e) auf dem Host-System (lokal) aus, wenn eine SQL Injection gefunden wird
    --answers=ANSWERS   Vordefinierte Antworten auf Benutzer Fragen (z.B. "quit=N,follow=N")
    --beep              Piep bei Fragen und/oder wenn SQL-Injekcions gefunden werden
    --cleanup           Bereinigen das DBMS von sqlmap-spezifischen UDF und Tabellen
    --dependencies      Suche nach fehlenden (non-core) sqlmap-Abhängigkeiten
    --disable-coloring  Deaktiviere farbige Konsolenausgabe
    --gpage=GOOGLEPAGE  Verwende Google Dork Ergebnisse aus angegebenen Seitennummer
    --identify-waf      Führe einen gründlichen Test zur Identifizierung von WAF, IPS und IDS durch
    --mobile            Imitiere Smartphone über den HTTP User-Agent Header 
    --offline           Im Offline-Modus arbeiten (nur Session Daten verwenden)
    --purge-output      Entferne den gesamten Inhalt sicher aus dem Output (Ausgabe) Verzeichnis
    --skip-waf          Überspringe heuristische Erkennung von WAF, IPS und IDS 
    --smart             Führe gründliche Tests nur bei positiver Heuristik durch
    --sqlmap-shell      Interaktive sqlmap Shell (Eingabeaufforderung)
    --tmp-dir=TMPDIR    Lokales Verzeichnis zum Speichern temporärer Dateien
    --web-root=WEBROOT  Root verzeichnis des Web-Servers (z.B. "/var/www") 
    --wizard            Simples Assistent Interface für Anfänger

1000 Zeichen übrig


Haftungsausschluss
«Nur wer versteht, wie Angreifer handeln, kann effektive Schutzmaßnahmen treffen.»

Die hier zur Verfügung gestellten Informationen dienen ausschließlich zu Lern- und Forschungszwecken. Der Missbrauch dieser Informationen kann zu strafrechtlichen Konsequenzen führen. Wir raten dringend hiervon ab und übernehmen keinerlei Haftung für etwaige Schäden.

Folge WhiteHat.de