
SleuthQL è uno strumento sviluppato in Python 3, utilizzato per scansionare in batch gli indirizzi di un sito che potrebbero presentare vulnerabilità SQL. Può inoltre essere abbinato a burp + sqlmap per effettuare iniezioni batch. Rispetto a sqlmap, che manualmente e in single-thread identifica i punti di iniezione uno a uno, risulta molto più comodo.
SleuthQL è uno script python3 per identificare parametri e valori che contengono sintassi simile a SQL. Una volta identificati, SleuthQL inserirà gli identificatori SQLMap (*) in ogni parametro in cui sono state individuate variabili simili a SQL.
SleuthQL richiede un export della Cronologia Proxy di Burp. Per ottenere questo export, basta andare nella scheda della cronologia proxy, selezionare tutti gli elementi e fare clic su "Save Items". Assicurarsi che ogni richiesta venga salvata utilizzando la codifica base64. Quando SleuthQL analizza il file della cronologia proxy, oltre ai normali parametri URL, sarà in grado di identificare parametri vulnerabili dai seguenti content-type di richiesta:
application/jsonapplication/x-www-form-urlencodedmultipart/form-dataCi sono casi in cui questo strumento fallirà. In particolare, se ci sono content-type annidati (come un parametro codificato in base64 all'interno di dati JSON), non sarà in grado di identificare tali parametri. Inoltre non copre i Cookie, poiché troppo spesso qualcosa come CloudFlare può segnalare un parametro che non ci interessa.
Lo scanner di Burp Pro è ottimo, ma non è completo quanto SQLMap. Pertanto, se riusciamo a dare priorità alle richieste da inviare a SQLMap in modo batch e cercare risultati in questo modo, possiamo aumentare il tasso di rilevamento delle SQL injection.
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.
Per ogni richiesta potenzialmente vulnerabile, la richiesta parametrizzata per SQLMap verrà salvata in $(pwd)/$domain/ come file di testo.
Questo codice è concesso in licenza secondo la BSD 3-Clause Clear License, che limita responsabilità, garanzia e uso brevettuale di questo codice. Vedere license.txt per maggiori dettagli.