---
# System prepended metadata

title: Домашняя работа №2 (Устройство современных веб-приложений и сбор информации задачи на root-me и portswigger)
tags: [Домашние задания Web Application Penetration Testing]

---

# Домашняя работа №2 (Устройство современных веб-приложений и сбор информации задачи на root-me и portswigger)
###### tags: `Домашние задания Web Application Penetration Testing`

- Начнем с задач на root-me

1) Задача: Backup File

    Открываем запрос в BurpSuite.
    ![](https://i.imgur.com/HkEBC3T.png)
    Ничего интересного не видим. Пробуем добавить index.php. Аналогично.
    Попробуем передать запрос в intruder и перебрать файлы в директории с помощью Sniper (но помним про бан ip).
    Нужное нам расширение - php~.
    ![](https://i.imgur.com/A8IsdbY.png)
    Сдаем ключ.
    
2) Задача: HTTP - Directory indexing

    Открываем запрос в BurpSuite.
    ![](https://i.imgur.com/l01AVsB.png)
    В ответе есть подсказка, что искать нужно по пути admin/pass.html.
    Дописываем его.
    ![](https://i.imgur.com/2Bg68SX.png)
    Не находим ключа. Попробуем также пройти по пути admin.
    ![](https://i.imgur.com/D70xH15.png)
    Передем в браузере.
    ![](https://i.imgur.com/iDrwKLT.png)
    Сдаем ключ.
3) Задача: Install files

    Открываем запрос в BurpSuite.
    ![](https://i.imgur.com/y79UhaJ.png)
    Ничего интересного, кроме того что это папка. Поищем с помощью dirb подобных утилит.
    ![](https://i.imgur.com/mAzJUEH.png)
    Переходим по найденному пути.
    ![](https://i.imgur.com/8e5BfmJ.png)
    Сдаем ключ.

4) Задача: Insecure Code Management

    Открываем задачу. Судя по описанию это сервер с git. Проверяем есть ли git по пути .git.
    ![](https://i.imgur.com/QBQtbOl.png)
    Обнаруживаем различные директории.
    Скачиваем набор утилит для перебора gitа - https://github.com/internetwache/GitTools
    Для начала используем gitdumber, для загрузки всех возможных путей с нужного нам git.
    ![](https://i.imgur.com/zZ38XWJ.png)
    Затем из этого же пакета используем утилиту extractor для поиска коммитов в данном репозитории.
    ![](https://i.imgur.com/agxalfy.png)
    Первая папка это где лежит репозиторий, вторая куда положить коммиты.
    Получили 5 папок. Попробую поискать информацию в каждой из них по очереди.
    Подставляя каждый пароль из найденных выясняем что правильный в папке под номером 4.
    ![](https://i.imgur.com/ZO1eTYE.png)

____

Задачи с portswigger.

![](https://i.imgur.com/5zNrGvz.png)

1) Information disclosure in error messages
   
Открываем страницу по задаче и смотрим её в burp. По названию задаче мы должны увидить какую то информацию о сервере в ошибке. Попробуем её создать, например если передем на любую страницу и добавим в индекс символ.
![](https://i.imgur.com/OWxV5x8.png)
Видим версию apache сдаем ключ.

2) Information disclosure on debug page

Открываем страницу по задаче и смотрим её в burp. На первый взгляд ничего не видно. Поищем debug страницу через SiteMap. Находим её.
![](https://i.imgur.com/097FsYD.png)
Отправляем запрос через Repeater.
![](https://i.imgur.com/yeAfbbN.png)
Попробуем сдать версию php как ключ. Не подходит.
Поищем на странице ключ.
![](https://i.imgur.com/as65YXe.png)
Успешно сдаем.

3) Source code disclosure via backup files

В основной директории сайта не находим ничего интересного. Попробуем перебрать директории через burp.
![](https://i.imgur.com/63Xikcf.png)
Находим путь backup.
В ответе находим еще один путь.
![](https://i.imgur.com/Ceh5Qps.png)
Проходим по нему.
![](https://i.imgur.com/kEOGA1b.png)
Находим ключ. Сдаем.

4) Authentication bypass via information disclosure

Судя по заданию, нам необходимо получить доступ в обход авторизации. Сразу переберем директории.
![](https://i.imgur.com/2UwiP77.png)
Находим, что admin имеет нестандартный ответ, проверим её.
Перебираем различные методы находим на метод trace интересный ответ.
![](https://i.imgur.com/iWHA8p3.png)
Сервер отдает custom ip. Попробуем заменить добавить его в запрос. Результат получили только поменяв его на localhost адрес.
![](https://i.imgur.com/6PWlaup.png)
Видим пользователей в списке. Из описания можно понять, что имеется возможность удалить пользователя если сделать такой запрос. Попробуем.
![](https://i.imgur.com/GGWOnMe.png)
Запрос выполнился. Учетка удалена.
![](https://i.imgur.com/1ERuyKL.png)
Задание пройдено.

5) Information disclosure in version control history

Подобное задание мы уже делали на рут ми. Проверяме директорию git.
![](https://i.imgur.com/HJ9ApqC.png)
Используем утилиту как и на рут ми.
![](https://i.imgur.com/gO4zqRI.png)
Находим пароль админа.
![](https://i.imgur.com/wwJZNDr.png)
Авторизуемся под ним.
Попробуем удалить пользователя.
![](https://i.imgur.com/SOdOJR2.png)
Успешно.
![](https://i.imgur.com/FsiDNPy.png)
Задание пройдено.