Три SQL-инъекции всего за 10 минут
Этичный Хакер
Здравствуйте, друзья, в этой статье я расскажу вам, как я нашел 3 простых SQL-инъекции в приватной программе. Домен компании назовем example.com.
После сбора поддоменов, я заметил один весьма интересный, имеющий страницу входа и работающий с PHP 7 на сервере Windows.

Вы можете узнать, какую технологию использует сайт, с помощью wappalyzer.
Поскольку мне известно, что этот веб-сайт использует PHP, я решил попробовать вставить одиночную кавычку в поле имени пользователя и выполнить вход. В результате, я вижу базовую SQL ошибку, а значит можно использовать sqlmap.
Для этого, поместите ' в любое поле страницы входа в систему, перехватите запрос с помощью burpsuite и сохраните запрос в файл.
Затем выполните:
sqlmap -r req.txt --batch --dbms=mssql --level 5 --risk 3 --dbs


Это можно сделать и вручную с полезной нагрузкой:
admin'SELECT+1,@@VERSION,3--

Xорошо! Мы получили первую SQL-инъекцию, давайте копнем еще глубже.
При проведении фаззинга я обнаружил другую конечную точку - getimage.php. вы можете найти ее с помощью ffuf, dirbuster или dirb. И в этой конечной точке нашелся параметр id , который так же уязвим.
Переходим на конечную точку getimage, перехватываем запрос в Burp Suite и используем расширение Param Miner для поиска скрытых параметров.



Хорошо, теперь у нас есть параметр id, давайте используем sqlmap для этого параметра.
sqlmap -u https://sub.ex.net/getimage.php\?id\=1 --batch --dbms=mssql --level 5 --risk 3 --dbs


Здорово! Мы получили вторую уязвимость.
Для следующего шага я делал то же самое, и обнаружил, что вызвана другая конечная точка - downloads.php и у этой конечной точки есть параметр с именем dir.
sqlmap -u https://sub.ex.net/downloads.php\?dir\=a --batch --dbms=mssql --level 5 --risk 3 --dbs

Здорово! Мы получили третью уязвимость!