Иван Андреевич Трещев

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


Скачать книгу

какой файл необходимо открыть, что изображено на рисунке 4.1.

      Рисунок 4.1 – Пример открытия файла

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

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

      Для того, чтобы просмотреть содержимое файла php, а не исполнить его, можно использовать механизм фильтров php. Например, можно использовать вывод файла в base64, что продемонстрировано на рисунке 4.3.

      Рисунок 4.3 – Использование фильтров php

      На рисунке 4.4 изображено декодированное содержимое файла.

      Рисунок 4.4 – Содержимое файла ../hackable/flags/fi.php

      5 File Inclusion Medium

      File Inclusion – уязвимость, заключающаяся в возможности использования и выполнения файлов на стороне сервера путём формирования определённого запроса к серверу.

      Задание состоит в том, что необходимо прочитать содержимое файла ../hackable/flags/fi.php.

      В DVWA на странице File Inclusion представлены три файла. При открытии любого файла его название отображается в строке запроса. Это означает, что GET-параметр page определяет, какой файл необходимо открыть, что изображено на рисунке 5.1.

      Рисунок 5.1 – Пример открытия файла

      Опытным путём установлено, что последовательность символов».. /” фильтруется. Предположительно, заменяется на пустую строку, так как при параметре page равном “../../../file3.php» открывается файл file3.php, изображённый на рисунке 5.1.

      Существует метод обхода подобной фильтрации. В нём используется тот факт, что операция замены последовательности символов во входных данных выполняется только один раз. Это позволяет использовать конструкции вида «….//». Эта последовательность будет преобразована в».. /».

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

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

      Для того, чтобы просмотреть содержимое файла php, а не исполнить его, можно использовать механизм фильтров php. Например, можно использовать вывод файла в base64, что продемонстрировано на рисунке 5.3.

      Рисунок 5.3 – Использование фильтров php

      На рисунке 5.4 изображено декодированное содержимое файла.

      Рисунок 5.4 – Содержимое файла ../hackable/flags/fi.php

      6 File Inclusion High

      File Inclusion – уязвимость, заключающаяся в возможности использования и выполнения файлов на стороне сервера путём формирования определённого запроса к серверу.

      Задание состоит в том, что необходимо прочитать содержимое файла ../hackable/flags/fi.php.

      В DVWA на странице File Inclusion представлены три файла. При открытии любого файла его название отображается в строке запроса. Это означает, что GET-параметр page определяет, какой файл необходимо открыть, что изображено на рисунке 6.1.

      Рисунок