0x00 Übersicht
Kürzlich bin ich auf ein seltsames Phänomen gestoßen, als ich SQLMAP für Injektionstests verwendet habe. Die höhere Version von SQLMAP kann die Injektion nicht erkennen, und die Daten können ausgehen Kein falsch positives Ergebnis. Nach Vergleichstests und beim Betrachten des SQLMAP-Quellcodes habe ich zwei kleine Fehler gefunden. 0x01 Szenario-Reproduktion :
python sqlmap.py -r sqlpk.txt –flush-session -vvsqlmap v1.2.11 kann nicht injiziert werden
sqlmap v1.2 erfolgreich injiziert
Gleiche wie v1.2.1. 0kann nicht Injektion, v1.1.12 kann injiziert werden
(1) Die limits.xml von v1.2.11 (/v1.2.10/v1.2.9/master) hat keinen Test für Fuzzy-Abfragen (%). Und v1.2 (/v1.1.12/1.1.4/1.2.2) hat es.
(2) v1.2.11 (/v1.2.10/1.2.9/master) muss einen bestimmten Parameter von json manuell auf * setzen, um diesen Parameter einzufügen (auch wenn y-inject inside ausgewählt ist), andernfalls wird die Nutzlast gelöscht Direkt folgen JSON kann nicht injiziert werden, aber v1.2 (/v1.1.12) kann standardmäßig einen bestimmten Parameter von JSON durch Drücken der Eingabetaste (y) injizieren.
0x02 Detaillierter Test
Verstehen Sie zunächst die Nutzlastzusammensetzung von sqlmap:
//Bildquelle https://www.freebuf.com/colum...
Take Schauen Sie sich die Testnutzlast von v1.2 an:Verwendete Nutzlast: %' und 5731=5731 und '%'='
Dies ist eine sehr häufige SuchfeldinjektionSchauen Sie sich die limits.xml von V1.2 an:
Die limits.xml von v1.2.11 verfügt nicht über Injektionstests für Fuzzy-Abfragen!
https://github.com/sqlmapproj...
Also habe ich den Injektionstest der Fuzzy-Abfrage zur Datei von v1.2.11 hinzugefügt und manuell * zu den Injektionsparametern (z. B. Wert) hinzugefügt, und die Injektion war erfolgreich!
Anbei ist die hinzugefügte Version:
pr hat die Antwort erhalten, weil es zu viele Fehlalarme gab, sodass die entsprechende Nutzlast entfernt wurde, aber das wird so sein begrenzt.
https://github.com/sqlmapproj...
Pit Points (2):
Manuell *
%22whereparams%22%3A%5B%7B%22name%22%3A%22keyWord%22%2C%22value%22%3A%22*%22%7D%5D%7D hinzufügen
0x03 Fazit
Ich persönlich empfehle das Hinzufügen einer Fuzzy-Abfrage-Testnutzlast besser als falsch-negative Ergebnisse, und es handelt sich um eine sehr häufige Fuzzy-Abfrageinjektion.
Wenn Sie auf JSON-Parameter stoßen, versuchen Sie, diese manuell hinzuzufügen* (für einige Versionen von sqlmap).
Das obige ist der detaillierte Inhalt vonSo analysieren Sie Probleme mit sqlmap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!