
Простой скрипт на Python с поддержкой профиля BurpBounty, который помогает обнаруживать SQL-инъекции (на основе ошибок) путём отправки множества запросов с 14 полезными нагрузками и проверки по 152 регулярным выражениям для различных баз данных.
Простой Python-скрипт с поддержкой профиля BurpBounty, который помогает обнаруживать SQL-инъекции (основанные на ошибках) путём отправки множественных запросов с 14 пейлоадами и проверки 152 регулярных выражений для разных баз данных.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

Основная идея инструмента — сканирование на наличие SQL-инъекций, основанных на ошибках, с использованием различных пейлоадов, например:
'123
''123
`123
")123
"))123
`)123
`))123
'))123
')123"123
[]123
""123
'"123
"'123
\123
И сопоставление с 152 шаблонами ошибок для разных баз данных.
Источник: https://github.com/sqlmapproject/sqlmap/blob/master/data/xml/errors.xml
Всё очень просто, просто организуйте свои шаги следующим образом:
Финальная схема URL, которые вы будете передавать инструменту, должна выглядеть так:
https://aykalam.com?x=test&y=fortest
http://test.com?parameter=ayhaga
Просто выполните следующую команду для установки необходимых библиотек.
~/eslam3kl/SQLiDetector# pip3 install -r requirements.txt
Для запуска самого инструмента.
# 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
Я создал профиль burpbounty, который использует те же пейлоады и вставляет их в несколько позиций, например:
Я думаю, это более эффективно и будет полезно для POST-запросов, которые невозможно протестировать с помощью Python-скрипта.


В чём отличие этого инструмента от любого другого?
Если у нас есть ссылка https://example.com?file=aykalam&username=eslam3kl, то у нас есть 2 параметра. Инструмент создаёт 2 возможных уязвимых URL.
https://example.com?file=123'&username=eslam3kl
https://example.com?file=aykalam&username=123'
Если вы хотите внести свой вклад, не стесняйтесь. Добро пожаловать :)
Спасибо Mohamed El-Khayat и Orwa за потрясающие пейлоады и идеи. Подпишитесь на них, и вы узнаете больше
https://twitter.com/Mohamed87Khayat
https://twitter.com/GodfatherOrwa