---
# System prepended metadata

title: Домашняя работа №6 (Задачи по Path traversal на root-me)
tags: [Домашние задания Web Application Penetration Testing]

---

# Домашняя работа №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)
    