Примеры использования SQL-инъекций
Matrix
В этой статье я расскажу вам, как я нашел 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

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