
Einfaches Python-Skript, unterstützt durch ein BurpBounty-Profil, das hilft, SQL-Injection "Error based" zu erkennen, indem mehrere Anfragen mit 14 Payloads gesendet und 152 Regex-Muster für verschiedene Datenbanken überprüft werden.
Einfaches Python-Skript, unterstützt mit einem BurpBouty-Profil, das hilft, SQL-Injection (Error Based) zu erkennen, indem mehrere Anfragen mit 14 Payloads gesendet und nach 152 Regex-Mustern für verschiedene Datenbanken gesucht wird.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

Die Hauptidee des Tools ist das Scannen nach Error Based SQL Injection unter Verwendung verschiedener Payloads wie
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
Und es sucht nach 152 Fehler-Regex-Mustern für verschiedene Datenbanken.
Quelle: https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
Es ist sehr einfach: Organisieren Sie Ihre Schritte wie folgt
Das endgültige Schema der URLs, die Sie an das Tool übergeben, muss wie folgt aussehen
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
Führen Sie einfach den folgenden Befehl aus, um die erforderlichen Bibliotheken zu installieren.
~/eslam3kl/SQLiDetector# pip3 install -r requirements.txt
Um das Tool selbst auszuführen.
# 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
Ich habe ein burpbounty-Profil erstellt, das dieselben Payloads verwendet und sie an mehreren Positionen injiziert, wie
Ich denke, es ist effektiver und wird bei POST-Anfragen hilfreich sein, die Sie mit dem Python-Skript nicht testen können.


Was ist der Unterschied zwischen diesem Tool und einem anderen?
Wenn wir einen Link wie diesen haben https://example.com?file=aykalam&username=eslam3kl, haben wir also 2 Parameter. Es werden 2 mögliche anfällige URLs erstellt.
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
Wenn Sie einen Beitrag leisten möchten, zögern Sie nicht. Sie sind herzlich willkommen :)
Danke an Mohamed El-Khayat und Orwa für die großartigen Payloads und Ideen. Folgen Sie ihnen und Sie werden mehr lernen
https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa