
Script Python simple accompagné d'un profil BurpBouty qui vous aide à détecter l'injection SQL "basée sur les erreurs" en envoyant plusieurs requêtes avec 14 charges utiles et en vérifiant 152 motifs regex pour différentes bases de données.
Simple python script supported with BurpBouty profile that helps you to detect SQL injection "Error based" by sending multiple requests with 14 payloads and checking for 152 regex patterns for different databases.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| S|Q|L|i| |D|e|t|e|c|t|o|r|
| Codé par : Eslam Akl @eslam3kll & Khaled Nassar @knassar702
| Version : 1.0.0
| Blog : eslam3kl.medium.com
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

L'idée principale de l'outil est de scanner les injections SQL basées sur les erreurs en utilisant différents payloads comme
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
Et recherche 152 motifs regex d'erreur pour différentes bases de données.
Source : https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
C'est très simple, organisez vos étapes comme suit
Le schéma final des URLs que vous passerez à l'outil doit ressembler à celui-ci
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
Exécutez simplement la commande suivante pour installer les bibliothèques requises.
~/eslam3kl/SQLiDetector# pip3 install -r requirements.txt
Pour exécuter l'outil lui-même.
# 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
J'ai créé un profil burpbounty qui utilise les mêmes payloads et les injecte à plusieurs positions comme
Je pense que c'est plus efficace et sera utile pour les requêtes POST que vous ne pouvez pas tester avec le script Python.


Quelle est la différence entre cet outil et n'importe quel autre ?
Si nous avons un lien comme celui-ci https://example.com?file=aykalam&username=eslam3kl, nous avons donc 2 paramètres. Il crée 2 URL potentiellement vulnérables.
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
Si vous souhaitez contribuer, n'hésitez pas. Vous êtes les bienvenus :)
Merci à Mohamed El-Khayat et Orwa pour les incroyables payloads et idées. Suivez-les et vous apprendrez plus
https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa