在保存数据的时候,发现向服务器发送了如下请求
请求格式类似于base64,尝试解码,发现的确是base64。解码后的数据是一个 XML,如下图所示:
接下来包含以下 XXE payload
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE aa[<!ELEMENT bb ANY><!ENTITY xxe SYSTEM "file:///etc/passwd">]>
并从正文中调用定义的实体xxe,如下图所示:
替换了原始请求中的负载并将请求转发给服务器。成功利用,读取到了/etc/passwd
制作恶意的xlsx(红框内的语法可按需修改):
这个触发点位于那些“在线预览”功能,上传我们制作好的恶意文档,并在线浏览该恶意文档,就可以看到XXE成功触发,升级成任意文件读取。
使用Excel文档进行XXE攻击的原理基本与Word文档进行攻击的原理一致,Excel文档也是由XML文件按照一定的格式压缩在一起的,它们的输出位点也非常相似。把xlxs文档后缀改为zip,找到content_Types.xml文件。
unzip test.xlsx
zip -r test.xslx *
上传后预览文档,触发漏洞
免责声明:
「由于传播、利用本公众号虫洞小窝所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!」
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。