Sqlmap auf kaputten Apps und WAFs
Tamper, Blind Injection und wann Automation beim Web-Test aufhört Sinn zu machen.
Parameter gab 500 auf Quote. Sqlmap lief zwanzig Minuten, ModSecurity blockte, "kein SQLi."
Der Stack im Admin-Export wartete im POST den niemand fuzzte weil der WAF nur GET sah.
Das sqlmap Cheat Sheet deckt Flags ab. WAF und App entscheiden ob es hilft. Ein 500er auf Quote heißt nicht automatisch SQLi. Es heißt: manuell prüfen, dann gezielt automatisieren. Sqlmap auf die ganze Site zu feuern ist Lärm für das SOC und Zeitverschwendung für dich.
Burp-Request mit Session exportieren. Ohne Cookie und Header ist der häufigste False Negative. Level und Risk hochdrehen ohne Verständnis der App macht es nur lauter, nicht klüger.
Manuell bestätigen
' OR '1'='1
' AND '1'='2
'; SELECT SLEEP(5)--
sqlmap -r request.txt -p id --batch --level 3 --risk 2
Burp-Request mit Session.
Tamper-Schleife
sqlmap -r request.txt --tamper=space2comment,between --random-agent --delay=1
Immer gleiche Blockseite: Vektor wechseln oder stoppen.
Second Order
Flow mappen: Input, Speicher, auslösender Request.
Second Order im Detail
Payload in Registrierung oder Profil, Ausführung später im Admin-Export. Sqlmap findet den Bogen nicht allein. Zweiter Request in request.txt auf den richtigen Sink zeigen.
Session in Burp-Export nicht vergessen. Fehlende Cookies sind der häufigste False Negative.
Wann stoppen
Parametrisiert, WAF 100% mit gleicher Blockseite nach drei Tamper, Shell über anderen Vektor. Tamper, Level, Risk, Zeit dokumentieren. Kunden fragen im Report.
Second-Order heißt: Input wird gespeichert, Ausführung passiert später im Admin-Report oder Batch-Job. Sqlmap findet den Bogen nicht. Du musst den zweiten Request selbst bauen. Ja, das ist nervig. Deshalb wird es in internen Tests übersehen.
FAQ
Sqlmap als erster Schritt auf jedem Parameter?
Meist nein. Manuelles Quote- oder Timing-Test bestätigt die Spur vor Volumen. Sqlmap ist laut und leicht zu loggen.
Welches Tamper hinter WAF?
Kein Universalwinner. space2comment und between sind übliche Starts. Iterieren wenn sich Fehlerbilder ändern.
Wann Second-Order SQLi?
Wenn Input gespeichert und später ausgeführt wird: Registrierung, Profil, Logs. Sqlmap errät den Flow nicht ohne dein Mapping.
FAQ
- Sqlmap als erster Schritt auf jedem Parameter?
- Meist nein. Manuelles Quote- oder Timing-Test bestätigt die Spur vor Volumen. Sqlmap ist laut und leicht zu loggen.
- Welches Tamper hinter WAF?
- Kein Universalwinner. space2comment und between sind übliche Starts. Iterieren wenn sich Fehlerbilder ändern.
- Wann Second-Order SQLi?
- Wenn Input gespeichert und später ausgeführt wird: Registrierung, Profil, Logs. Sqlmap errät den Flow nicht ohne dein Mapping.