bugbounty技巧-奇奇怪怪的任意文件读取

299 阅读1分钟

bugbounty技巧-奇奇怪怪的任意文件读取

image.png

0x01 直接跨目录造成任意文件读取

image.png

0x02 通过编码xxe实现任意文件读取

在保存数据的时候,发现向服务器发送了如下请求

image.png

请求格式类似于base64,尝试解码,发现的确是base64。解码后的数据是一个 XML,如下图所示:

image.png

接下来包含以下 XXE payload

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE aa[<!ELEMENT bb ANY><!ENTITY xxe SYSTEM "file:///etc/passwd">]>

并从正文中调用定义的实体xxe,如下图所示:

image.png

替换了原始请求中的负载并将请求转发给服务器。成功利用,读取到了/etc/passwd

image.png

0x03 通过docx进行xxe攻击实现的任意文件读取

制作恶意的xlsx(红框内的语法可按需修改):

这个触发点位于那些“在线预览”功能,上传我们制作好的恶意文档,并在线浏览该恶意文档,就可以看到XXE成功触发,升级成任意文件读取。

使用Excel文档进行XXE攻击的原理基本与Word文档进行攻击的原理一致,Excel文档也是由XML文件按照一定的格式压缩在一起的,它们的输出位点也非常相似。把xlxs文档后缀改为zip,找到content_Types.xml文件。

unzip test.xlsx

image.png

image.png

zip -r test.xslx *

image.png

上传后预览文档,触发漏洞

image.png

免责声明:

「由于传播、利用本公众号虫洞小窝所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!」