
SleuthQL ist ein auf Python3 basierendes Tool, das entwickelt wurde, um URLs auf einer Website, die möglicherweise SQL-Schwachstellen aufweisen, in großem Umfang zu durchsuchen. Es kann auch mit Burp + SQLmap für Massen-Injection kombiniert werden. Im Vergleich zur manuellen, einthreadigen Identifizierung von Injektionspunkten mit SQLmap ist es viel bequemer.
SleuthQL ist ein Python3-Skript zur Identifizierung von Parametern und Werten, die SQL-ähnliche Syntax enthalten. Nach der Identifizierung fügt SleuthQL dann SQLMap-Identifikatoren (*) in jeden Parameter ein, in dem die SQL-ähnlichen Variablen erkannt wurden.
SleuthQL benötigt einen Export des Burp-Proxyverlaufs. Um diesen Export zu erhalten, navigieren Sie einfach zu Ihrem Proxyverlaufs-Tab, markieren Sie jeden Eintrag und klicken Sie auf „Save Items". Stellen Sie sicher, dass jede Anfrage mit base64-Kodierung gespeichert wird. Wenn SleuthQL die Proxyverlaufsdatei scannt, kann es neben den regulären URL-Parametern anfällige Parameter aus den folgenden Anfrage-Content-Types identifizieren:
application/jsonapplication/x-www-form-urlencodedmultipart/form-dataEs gibt Fälle, in denen dieses Tool an seine Grenzen stößt. Insbesondere bei verschachtelten Content-Types (z. B. einem base64-kodierten Parameter innerhalb von JSON-Daten) kann es diese Parameter nicht identifizieren. Ebenfalls nicht abgedeckt werden Cookies, da zu oft etwas wie CloudFlare einen Parameter markiert, der uns nicht interessiert.
Der Scanner von Burp Pro ist großartig, aber nicht so umfangreich wie SQLMap. Wenn wir daher Anfragen priorisieren können, um sie batchweise an SQLMap zu übergeben und auf diese Weise nach Ergebnissen zu suchen, können wir die Erkennungsrate von SQL-Injection erhöhen.
Usage:
.:/+ssyyyyyyso+/:.
-/s s/.
.+| SleuthQL |y+.
-s| SQL Injection Discovery Tool |s-
.shh| |ohs.
+hhhho+shhhhhhhhhhhs/hhhhhhhhhhhhhhhh.-hh/
`shhhhhhy:./yo/:---:/:`hhhhhhhhhhhhhhhs``ohho
shhhhhhhhh-`-//::+os: +hhhhhhhhh+shhhh.o-/hhho
+hhhhhhhhh:+y/.:shy/ /hhhhhhhhh/`ohhh-/h-/hhhh/
.hhhhhhhhhsss`.yhhs` .shhhhhhhh+-o-hhh-/hh`ohhhhh`
+hhhhhhhhhhhhyoshh+. `shhhhhs/-oh:ohs.ohh+`hhhhhh/
shhhhhhhhhhhhhhhhhhh/ -//::+yhy:oy::yhhy`+hhhhhho
yhhhhhhhhhhhhhhhhhhh:-:. `+y+-/:/yhhhy.-hhhhhhhs
shhhhhhhhhhhhhhhhhhh+ :/o+:.`` -hhhhhs`.hhhhhhhho
+hhhhhhhs/hhhhhhhhhhy::/:/yhhhy: .+yy/ :hhhhhhhhh/
.hhhhhhh:.hhhhhhhhhhhhhhhhhhhhhhs/- -shhhhhhhhhh`
+hhhhhh+ /hhhhhhhhhhhhhhhhhhhhho/:`+hhhhhhhhhhh/
shhhhy+ -shhhhhhhhhhhhhhhhhhh.// yhhhhhhhhhho
`ohh+://+/.`-/++ooooooooooyhhhhy.`hhhhhhhhhho
/hhhhhhhhhso++//+++oooo+:`sh+`-yhhhhhhhhh/
.s s.
-s Rhino Security Labs s-
.+y Dwight Hohnstein y+.
./s s/.
.:/+osyyyyyyso+/-.
sleuthql.py -d example.com -f burpproxy.xml
SleuthQL is a script for automating the discovery of requests matching
SQL-like parameter names and values. When discovered, it will display
any matching parameters and paths that may be vulnerable to SQL injection.
It will also create a directory with SQLMap ready request files.
Options:
-h, --help show this help message and exit
-d DOMAINS, --domains=DOMAINS
Comma separated list of domains to analyze. i.e.:
google.com,mozilla.com,rhinosecuritylabs.com
-f PROXY_XML, --xml=PROXY_XML
Burp proxy history xml export to parse. Must be base64
encoded.
-v, --verbose Show verbose errors that occur during parsing of the
input XML.
Für jede potenziell anfällige Anfrage wird die SQLMap-parametrisierte Anfrage als Textdatei unter $(pwd)/$domain/ gespeichert.
Dieser Code ist unter der BSD-3-Clause-Clear-Lizenz lizenziert, die Haftung, Gewährleistung und Patentnutzung dieses Codes einschränkt. Weitere Einzelheiten finden Sie in license.txt.