Примеры использования SQL-инъекций

Примеры использования 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

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




Report Page