
Script simple de Python compatible con el perfil de BurpBouty que te ayuda a detectar inyecciones SQL "basadas en errores" enviando múltiples solicitudes con 14 payloads y verificando 152 patrones de regex para diferentes bases de datos.
Script simple en Python compatible con el perfil BurpBounty que te ayuda a detectar inyecciones SQL "basadas en errores" enviando múltiples solicitudes con 14 payloads y verificando 152 patrones regex para diferentes bases de datos.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| S|Q|L|i| |D|e|t|e|c|t|o|r|
| Coded By: Eslam Akl @eslam3kll & Khaled Nassar @knassar702
| Version: 1.0.0
| Blog: eslam3kl.medium.com
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

La idea principal de la herramienta es escanear inyecciones SQL basadas en errores utilizando diferentes payloads como
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
Y buscar coincidencias con 152 patrones de error regex para diferentes bases de datos.
Fuente: https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
Es muy sencillo, solo organiza tus pasos de la siguiente manera
El esquema final de las URLs que pasarás a la herramienta debe ser como este
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
Solo ejecuta el siguiente comando para instalar las librerías requeridas.
~/eslam3kl/SQLiDetector# pip3 install -r requirements.txt
Para ejecutar la herramienta en sí.
# cat urls.txt
http://testphp.vulnweb.com/artists.php?artist=1
# python3 sqlidetector.py -h
usage: sqlidetector.py [-h] -f FILE [-w WORKERS] [-p PROXY] [-t TIMEOUT] [-o OUTPUT]
A simple tool to detect SQL errors
optional arguments:
-h, --help show this help message and exit]
-f FILE, --file FILE [File of the urls]
-w WORKERS, --workers [WORKERS Number of threads]
-p PROXY, --proxy [PROXY Proxy host]
-t TIMEOUT, --timeout [TIMEOUT Connection timeout]
-o OUTPUT, --output [OUTPUT [Output file]
# python3 sqlidetector.py -f urls.txt -w 50 -o output.txt -t 10
He creado un perfil de burpbounty que utiliza los mismos payloads y los inyecta en múltiples posiciones como
Creo que es más efectivo y será útil para solicitudes POST que no se pueden probar con el script de Python.


¿Cuál es la diferencia entre esta herramienta y cualquier otra?
Si tenemos un enlace como este https://example.com?file=aykalam&username=eslam3kl, entonces tenemos 2 parámetros. Crea 2 URLs potencialmente vulnerables.
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
Si quieres contribuir, siéntete libre de hacerlo. ¡Eres bienvenido! :)
Gracias a Mohamed El-Khayat y Orwa por los increíbles payloads e ideas. Síguelos y aprenderás más
https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa