# Домашняя работа №6 (Задачи по Path traversal на root-me) ###### tags: `Домашние задания Web Application Penetration Testing` 1) Задача: File upload - Double extensions Нам необходимо загрузить код на этот для вывода нужного нам файла. Просматриваем страницу, видим куда можно загрузить файл. ![](https://i.imgur.com/AmQpDdj.png) Как следует из описания, можно загружать только графические форматы. Судя из задания, можно загрузить файл с двойным форматом, попробуем загрузить файл с php кодом и вторым форматом .gif. Код, например будем использовать такой: ``` <?php $resulst = shell_exec('cat ../../../.passwd'); echo "<b>$result</b>"; ?> ``` ![](https://i.imgur.com/4mRsg2g.png) Загружаем файл. И тут же выполняем его. ![](https://i.imgur.com/FEQiwkL.png) Сдаем флаг. 2) Задача: File upload - MIME type Открываем задачу, пробуем повторить шаги с предыдущего задания. ![](https://i.imgur.com/8Aer9nu.png) Не работает. Открываем запрос загрузки в Burp. ![](https://i.imgur.com/WXvyxwG.png) Попробуем оставить MIME type, но изменить расширение файла на php. ![](https://i.imgur.com/n4I1ipf.png) Загружается. Но файл не видно в списке загруженных. Тогда зайдем на старый файл, но изменим в строке на наш новый с php расширением. ![](https://i.imgur.com/gSeeJsU.png) Работает, сдаем флаг. 3) Задача: File upload - Null byte Пробуем аналогичные действия, как в предыдущей задаче. ![](https://i.imgur.com/eZ6zMgd.png) Ошибка не позволяет загрузить файл. Переходим в Burp. Смотрим на запрос. Судя по названию задачи, необходимо использовать нулевой байт. То есть добавление в конце файла загрузки нулевого байта для выполнения инъекции. Пробуем. ![](https://i.imgur.com/GyI8AgP.png) Файл загружен. Открываем. ![](https://i.imgur.com/NK7EQ3u.png) Сдаем флаг. 4) Задача: Local File Inclusion Просматриваем задание. ![](https://i.imgur.com/DLgoozL.png) При переходе на админа, просит авторизацию. Судя по заданию, тут имеется уязвимость LFI. Админский доступ находится по пути /admin, а нам доступны директории через переменную file. Попробуем в нее передать админский путь. ![](https://i.imgur.com/Atw9EqB.png) Отдается страница с ключом. Сдаем флаг. 5) Задача: File upload - ZIP Попробуем поправить наш скрипт из первого решения на открытие index.php и добавить его в zip. Пробуем загружать. ![](https://i.imgur.com/L96Hlm8.png) Файл не открывается - 403. Попробуем использовать символьную ссылку и загрузить уже её в архив. ![](https://i.imgur.com/ZaIPYbq.png) Загружаем новый архив. Не работает. Попробуем вместо php использовать другой формат например txt. ![](https://i.imgur.com/ebJ7FdL.png) Пробуем. Получаем флаг. ![](https://i.imgur.com/nrAbUlD.png)