
SleuthQL é uma ferramenta desenvolvida em Python3, utilizada para rastrear em lote endereços de sites que possam apresentar SQL. Ela também pode ser combinada com Burp + sqlmap para realizar injeção em lote. Comparado à identificação manual, feita pelo sqlmap em um único thread, ponto de injeção por ponto de injeção, isso é muito mais conveniente.
O SleuthQL é um script python3 para identificar parâmetros e valores que contenham sintaxe semelhante a SQL. Uma vez identificados, o SleuthQL insere identificadores do SQLMap (*) em cada parâmetro onde as variáveis semelhantes a SQL foram identificadas.
O SleuthQL requer uma exportação do Histórico de Proxy do Burp. Para obter essa exportação, basta navegar até a aba do histórico de proxy, selecionar todos os itens e clicar em "Save Items". Garanta que cada requisição seja salva usando codificação base64. Quando o SleuthQL examina o arquivo do histórico de proxy, além dos parâmetros regulares de URL, ele conseguirá identificar parâmetros vulneráveis nos seguintes content-types de requisição:
application/jsonapplication/x-www-form-urlencodedmultipart/form-dataHá casos em que esta ferramenta falhará. Especificamente, se houver content-types aninhados (como um parâmetro codificado em base64 dentro de dados JSON), ela não conseguirá identificar esses parâmetros. Ela também não cobre Cookies, pois com frequência algo como o CloudFlare sinalizará um parâmetro no qual não temos interesse.
O scanner do Burp Pro é ótimo, mas não é tão completo quanto o SQLMap. Assim, se conseguirmos priorizar requisições para alimentar o SQLMap de maneira em lote e procurar resultados dessa forma, podemos aumentar a taxa de detecção de injeção de SQL.
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.
Para cada requisição potencialmente vulnerável, a requisição parametrizada do SQLMap será salva em $(pwd)/$domain/ como arquivos de texto.
Este código é licenciado sob a Licença Clear BSD 3-Clause, que limita responsabilidade, garantia e uso de patentes deste código. Veja license.txt para mais detalhes.