---
# System prepended metadata

title: Домашняя работа №9 (Задачи XML external entity (XXE) injection на portswigger)
tags: [Домашние задания Web Application Penetration Testing]

---

# Домашняя работа №9 (Задачи XML external entity (XXE) injection на portswigger)
###### tags: `Домашние задания Web Application Penetration Testing`


1) Задача: Exploiting XXE using external entities to retrieve files

    В описании сказано, что по запросу "Check Stock" отрабатывает парсер XML. Проверим это.
    ![](https://i.imgur.com/q3nJYX9.png)
    Переходим в Burp и проверяем запрос там, для поиска уязвимости в XML запросе.
    ![](https://i.imgur.com/g2gWt7D.png)
    Мы знаем, что приложение уязвимо к XXE, поэтому просто добавим элемент DOCTYPE для обращения к файловой системе сервера.
    ![](https://i.imgur.com/befLGD6.png)
    Задача выполнена.
    
2) Задача: Exploiting XXE to perform SSRF attacks

    В данной задаче мы будем использовать ту же XXE, но для реализации SSRF.
    Итак, выполняем те же действия что и в предыдущей задаче, но добавим как рекомендуют в описании адрес эндпоинта.
    ![](https://i.imgur.com/oSI5oZQ.png)
    Сразу не срабатывает, сервер отвечает, что не указан нужный путь, прописываем что он требует. В результате получается цепочка до пути admin.
    ![](https://i.imgur.com/VdgoUXF.png)
    Задача выполнена.
3) Задача: Blind XXE with out-of-band interaction

    Переходим к следующему типу XXE слепые XXE.
    Исходя из описания нужно будет использовать collaborator для решения.
    Итак, приступим. Выполняем все действия как и ранее. И сразу запустим collaborator.
    ![](https://i.imgur.com/U2RnKGD.png)
    Предыдущий запрос не отрабатывает.
    Используем такой же запрос как и ранее, но только добавим ссылку на наш клиент collaborator в запросе.
    Не смотря на ошибку запросы мы видим в нашем collaborator.
    ![](https://i.imgur.com/rBK5q08.png)
    Задача выполнена.
    

4) Задача: Blind XXE with out-of-band interaction via XML parameter entities

    Данная задача аналогична предыдущей, но тут для обхода рекомендовано использовать сущности параметров XML.
    Выполняем аналогичные предыдущей задаче действия.
    ![](https://i.imgur.com/3FsWjLQ.png)
    Как видим стоит защита. Используем сущности.
    ![](https://i.imgur.com/dMvFLDf.png)
    Задача выполнена.