Анализ защищенности распределенных информационных систем. DVWA. Для студентов технических специальностей. Иван Андреевич Трещев
Чтение книги онлайн.

Читать онлайн книгу Анализ защищенности распределенных информационных систем. DVWA. Для студентов технических специальностей - Иван Андреевич Трещев страница 3

СКАЧАТЬ типа фильтрации используется URI-схема file.

      Для демонстрации наличия уязвимости будет предпринята попытка прочитать файл /etc/passwd. На рисунке 6.2 изображено его содержимое.

      Рисунок 6.2 – Содержимое файла /etc/passwd

      Сервер не позволяет обращаться через File URI-scheme, используя относительные пути. Но можно предположить, что корневая директория веб-приложения – /var/www/html/, так как популярные веб-серверы (Apache, Nginx) по умолчанию используют её. На рисунке 6.3 изображён вывод файла hackable/flags/fi.php. На данном уровне сложности скрытую строку посмотреть не представляется возможным, так как использование File URI-scheme не позволяет использовать фильтры языка программирования PHP внутри пути.

      Рисунок 6.3 – Файл hackable/flags/fi.php

      7 SQL Injection Low

      SQL Injection (внедрение кода SQL) – атака, связанная с внедрением в SQL-запрос сервера к СУБД произвольного кода.

      В DVWA на странице SQL Injection представлена форма ввода id пользователя, изображённая на рисунке 7.1.

      Рисунок 7.1 – Форма ввода

      Для эксплуатации уязвимости будет использована утилита sqlmap.

      На рисунке 7.2 представлена команда, запускающая сканирование: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/?id=123&Submit=Submit" – cookie=’security=low; PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73»».

      Рисунок 7.2 – Запуск сканирования

      В ходе сканирования было выяснено, что используется СУБД MySQL, уязвимый параметр – id. Результаты сканирования изображены на рисунке 7.3.

      Рисунок 7.3 – Результаты сканирования

      Далее необходимо получить список баз данных, для этого к команде добавляется ключ —dbs: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/?id=123&Submit=Submit" – cookie=’security=low; PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73» —dbs». Результаты изображены на рисунке 7.4.

      Рисунок 7.4 – Список баз данных

      Теперь можно получить список таблиц в базе dvwa. Для этого через ключ -D нужно указать БД, затем указать ключ —tables, чтобы получить названия таблиц: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/?id=123&Submit=Submit" – cookie=’security=low; PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73» -D dvwa —tables». Результаты изображены на рисунке 7.5.

      Рисунок 7.5 – Таблицы в базе dvwa

      Теперь можно получить записи таблицы users. Для этого ключ —tables меняется на -T users, добавляется ключ —dump: «sqlmap -u "http://kalkt.com:8001/vulnerabilities/sqli/?id=123&Submit=Submit" – cookie=’security=low; PHPSESSID=mp4p8kk8or3m2s7spc22ng0m73» -D dvwa -T users —dump». Результаты изображены на рисунке 7.6.

      Рисунок 7.6 – Содержимое таблицы users

      Также на скриншоте видно, что sqlmap в процессе работы нашёл пароли в открытом виде, использовав перебор по встроенному словарю.

      8 SQL Injection Medium

      SQL Injection (внедрение кода SQL) – атака, связанная с внедрением в SQL-запрос сервера к СУБД произвольного кода.

      В DVWA на странице SQL Injection представлена форма ввода id пользователя, изображённая на рисунке 8.1.

      Рисунок 8.1 – Форма ввода

      Для эксплуатации уязвимости будет использована утилита sqlmap. В качестве аргумента СКАЧАТЬ