XXE进阶——OOB攻击

怕夜长梦多忘了,临时做个笔记,日后深入展开探讨。

之前我们在那些年的系列中已经讲解过XXE了,这些日子随便看见个XML都感觉有犯罪嫌疑,今天,终于在大佬的项目中见到了,借此机会学习一下。

下图是一个网站的登录窗口,随便尝试登录一下,发现用户名密码采用xml的格式进行上传。

我们尝试了下DTD,发现没有被禁掉!行动!

今日demo

我们使用正常逻辑进行尝试!发现返回包并没有存在可供我们操纵的任何数据。

正常逻辑

那么,这里我们的想法就是:服务器既然无法给我们回显数据,我们能不能尝试将已构造好的参数,通过例如HTTP的方式返回到我们看得到的地方?

于是,就有了我们今天的主题:Out of Band,OBB攻击,即数据外带。

如果自己开发能力不足的话,这里给大家安利一个小工具:xxeserve

https://github.com/joernchen/xxeserve

是基于ruby开发的,如果懒于自己搭建ruby runingtime,那就丢了parrot上吧。

那么这里还有一个问题,就是我们的pc出于内网,如何正常接受返回的数据呢?真相早就提过了:frp!

运行xxeserve,在指定端口进行监听:

xxeserve

发送构造好的payload,虽然发现xml解析错误的提示:

发送payload

但是,xxeserve却成功监听到了我们想要读取的文件,如图中的用户hash:

xxeserve监听

如果你要问我们今天实现了什么?emmmmm,我们看到一个网站的登录界面,然后什么也不知道,但我们可以直接任意读取该服务器上文件,如passwd、shadow等。

今天只是简单梳理下思路,XXE的高阶玩法果然比我想想的要多,关于手工OOB的利用今天并没有成功,择日~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181218G126BX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券