首页 > 编程源码 > 绕过WAF限制利用php:方法实现OOB-XXE漏洞利用(上)

绕过WAF限制利用php:方法实现OOB-XXE漏洞利用(上)

楼主:资源分享 [官方] · 2020-6-12 ·  浏览626 · 编程源码 · ID:

目标应用后端系统WAF防火墙阻挡了包含DNS解析在内的所有出站请求(Outgoing Request),但最终,通过利用php://filter//的封装协议,作者成功实现了OOB-XXE漏洞测试。以下是其分享:

在对目标应用的测试分析时,我偶然发现了其中一个路径调用了一个名为xml的参数,但其对应的XML数据值是加密的。之后,我发现该xml参数的XML数据在发送到HTTP请求前仅在客户端实行了加密,也就是说,其应用后端可能未设置对这些XML数据进行必要验证的措施,这样,我就想到能否修改这些XML数据以便注入XXE Payload。

接下来,首先我要找到加密XML数据的JavaScript函数,但却发现目标应用的JavaScript全被静态模块打包器WebPack打包且非常不具可读性和跟踪分析性。所以,要找到JavaScript加密函数是件麻烦事,之后,我想到了在Chrome浏览器工具中设置断点,在XML数据发送到JavaScript加密函数前对它进行修改。

这样一来,我就可以在其中加入外部实体(external entity)进行XML数据构造了,但当我把构造好的XML Payload发送后,目标应用好长时间才有响应”Error while parsing XML”。但当我把其中的外部实体(external entity)修改为 [http://localhost/](http://localhost/) 后,目标应用却能及时无误的响应。这种情况,我认为目标应用环境中可能部署有WAF防火墙,它会把一些出站请求拒绝掉。之后,我又尝试了端口和DNS解析请求,但都没成功。

也就是说,现在我面前存在一个XXE漏洞,但是却无能为力。一般来说可能通过探测目标应用内网环境中开放的端口来实现XXE利用,但其WAF防火墙却阻挡了所有出站请求。由于其WAF防火墙未阻止本机用为外部实体,所以,我想找到目标应用公开具备的,不需cookie验证且使用GET参数的路径来实现对某些数据的更改或添加。而这也和目标应用的工作机制非常相符,因为它好多路径并未采用cookie验证和用户ID参数的形式来验证身份。

考虑到这一点,我就开始认真分析查找,最后聚集于一个路径http://target/endpoint.php?sid=[session_id]&key=xxe&val=test,它会调用三个参数:sid、key和val,并把key和val保存到相应的会话ID账户中,而且我们通过访问该路径就可以获取这三个参数值。

所以,现在我就想构造一个向路径http://target/endpoint.php?sid=[session_id]&key=xxe&val=test发送GET请求的外部实体,之后看看该路径下的xxe和test值是否已经会发生添加更改,因此,我构造的XXE Payload如下,并把它执行了发送:http://www.iyuji.cn/iyuji/s/UDY2Y2lWOW9VV2dkcmh0a25XbjRldz09/1591968015280555

之后,当我来到 http://target/endpoint.php?sid=[session_id] 下,我发现sid值已经被添加更改,也就是说,目标应用服务器能正常获取上述实体,并会向提供的路径发送GET请求。如下:

现在思路就慢慢清晰了,至少可以证明其XXE漏洞是存在的,我想深入利用看看能否可读取到目标应用的一些本地文件。要读取本地文件,我们需要创建一个获取文件的参数实体,以及另一个调用该参数实体的实体,为此,我用到了外部文档类型定义(DTD)文件的调用,但问题还是一样,被WAF防火墙阻挡了出站的调用请求,部署在我服务器上的DTD文件不能被正常调用。

这样来说,还是防火墙在作怪,如何来绕过它呢?我想能否存在一种允许文件上传的路径,这样我就能上传我的构造DTD文件,但是,目标应用却根本没任何文件上传功能。一番倒腾之后,我差点放弃了,但是我想到目标应用是PHP架构的,那我想应该可以用php://封装协议的封装器去获取 data:// URI中的资源吧,这样不就能调用到我的DTD文件了吗?

所以,可以定义这样一种参数实体:http://www.iyuji.cn/iyuji/s/UDY2Y2lWOW9VV2dkcmh0a25XbjRldz09/1591968063744794

然后把上述参数实体经base64编码后,利用php://封装协议来请求它,如下:http://www.iyuji.cn/iyuji/s/UDY2Y2lWOW9VV2dkcmh0a25XbjRldz09/1591968169544406

主页看下

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者资源分享流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/30752.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
2条回复 |  最后回复于2020-6-12

资源分享 [官方]

自古一楼是楼主
发布于2020-6-12

回复列表

  • 内容加载中...

说点什么...

庄生ag [1级]

牛逼
发布于2020-6-12

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
11人签到
已签0天
  • 46568帖子
  • 1936067热点量
  • 184685火热值