记一次利用BLIND OOB XXE漏洞获取文件系统访问权限的测试

2018 年 4 月 13 日 FreeBuf clouds

今天,我要和大家分享的是,我在某个邀请漏洞测试项目中,发现Bind OOB XXE漏洞的方法。由于涉及隐私,以下文章中涉及网站域名的部分我已作了编辑隐藏,敬请见谅。

漏洞分析

首先,与大多数挖洞者的探测模式一样,我对目标网站进行了全方位的服务资产踩点识别,在此过程中,我发现了其中一个子域名网站比较有意思,于是,我就对它进行了目录遍历,然后,就发现了其名为/notifications的服务端。在BurpSuite中,对这个/notifications服务端的请求和响应如下图所示:

在其响应内容中,我注意到,除了有XML内容外,还包含了一个XML SOAP语法体。由于没有GET参数可供测试,因此我决定向该/notifications服务端发送一个简单的,不指定任何内容类型(content-type)的POST请求进行探究,之后,在POST请求发出后,XML SOAP语法体不再出现,而且整个请求响应的代码为200:

看来,貌似该Web应用端对POST请求能做出很好的响应,且不会抛出405的请求方法错误,所以我又构造定义了包含content-type: application/xml样式的XML语法内容,用它来作POST请求,看看响应如何:

虽然这次的POST响应还是XML内容,但却与上一次不同,这种响应表面上看似像服务端对GET请求的响应,而且,这次的响应内容中包含的标签值不是上次的“TestRequestCalled”,而是“OK”。接着,我又发送了一个定义的JSON请求(content-type: application/json),来测试服务端的具体响应:

这一次,响应内容又是空的,和未指定任何内容类型的简单POST请求响应一样,由此,我推断该服务端能正常处理XML数据,这样一来,我想尝试利用BLIND XXE攻击方式来触发其漏洞。我通过在自己VPS上架设了一个dtd文件,然后利用外部实体引用途径来测试其XML解析机制,幸运的是,最终部署在我VPS上的这个外部dtd文件实体被成功解析引用,以下是其请求内容和最后的解析结果:

xxe-ftp-server.rb脚本应用

由于该系统使用了java框架,而俄罗斯OnSec实验室曾针对Java程序的XXE-OOB攻击作出了相关研究,并给出相应的payload,以及一个通过ftp服务读取系统目录的漏洞利用脚本xxe-ftp-server.rb,运行该脚本后,8088端口作为http服务端负责获取OOB攻击payload,而8077端口用于ftp连接服务,最终能成功读取到目标系统目录:

尽管最后该漏洞被确认为一个重复报,但我还是想把它分享出来,我自己也从中学到一些判断服务端应用的经验。

一些有用的XXE Payload

*参考来源:hawkinsecurity,FreeBuf小编clouds编译,转载请注明来自FreeBuf.COM

登录查看更多
0

相关内容

XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
197+阅读 · 2020年6月29日
【SIGIR2020】用于冷启动推荐的内容感知神经哈希
专知会员服务
23+阅读 · 2020年6月2日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
120+阅读 · 2020年5月10日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
25+阅读 · 2020年4月20日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
18+阅读 · 2020年4月18日
【综述】基于图的对抗式攻击和防御,附22页论文下载
专知会员服务
69+阅读 · 2020年3月5日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
85+阅读 · 2019年12月27日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
30+阅读 · 2019年10月17日
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Arxiv
3+阅读 · 2019年3月1日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
197+阅读 · 2020年6月29日
【SIGIR2020】用于冷启动推荐的内容感知神经哈希
专知会员服务
23+阅读 · 2020年6月2日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
120+阅读 · 2020年5月10日
【复旦大学-SP2020】NLP语言模型隐私泄漏风险
专知会员服务
25+阅读 · 2020年4月20日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
18+阅读 · 2020年4月18日
【综述】基于图的对抗式攻击和防御,附22页论文下载
专知会员服务
69+阅读 · 2020年3月5日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
85+阅读 · 2019年12月27日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
30+阅读 · 2019年10月17日
相关资讯
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Top
微信扫码咨询专知VIP会员