# Домашняя работа №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) Задача выполнена.