На странице
apsyleg1 мин
#portswigger #path-traversal #web-security
File Path Traversal: обход проверки расширения через null-байт
Лаборатория
File path traversal, validation of file extension with null byte bypass · Practitioner
Решение
Дано
This lab contains a path traversal vulnerability in the display of product images.
The application validates that the supplied filename ends with the expected file extension.
To solve the lab, retrieve the contents of the /etc/passwd file.
Анализ и разведка
Как и в предыдущей лабе, только здесь реализована проверка расширения файла, поэтому можно использовать технику передачи «нулевого байта» — %00.
Итоговая нагрузка
GET /image?filename=/../../../etc/passwd%00.png
Перешли в корень, и далее нулевым байтом остановили чтение. В итоге читаем файл /etc/passwd, а фильтр обойден.
Лаба решена!
Ещё в этой категории
Внедрение произвольного объекта в PHP (PortSwigger Lab)
Восстановление утёкшего исходного кода и внедрение сериализованного объекта CustomTemplate, чей __destruct удаляет произвольный файл.
Эксплуатация небезопасной десериализации через функции приложения (PortSwigger Lab)
Подмена поля `avatar_link` в объекте сессии для удаления произвольного файла через функцию удаления аккаунта.
Изменение типов сериализованных данных (PortSwigger Lab)
Эксплуатируем нестрогое сравнение PHP, меняя тип `access_token` на целое `0` и обходя аутентификацию.