翻译文章 | Just gopher it!无回显SSRF升级为RCE

前言:

发现此漏洞的bug bounty团队不允许公开披露,因此我不会直接命名所涉及的程序。

我能说的是,这是在Hackerone运行时间最长、规模最大的bug赏金活动中发现的。多个Hackerone的现场黑客活动已经包括这个活动。

毋庸置疑,这是一家拥有世界级安全团队的公司,多年来一直有大量专门针对它的黑客专家——这使得这个漏洞的存在更加令人惊讶。

第1部分:侦察

通常对于一个大范围的bug赏金程序,我会从子域枚举开始,以增加我的攻击面,但在这种情况下,我只针对我的目标上的一个web应用程序。

因为我只专注于一个web应用,所以我开始使用GAU工具获取url和路径列表。我还查看了各种javascript文件以寻找隐藏的路径,并使用ffuf工具进行了一些目录模糊爆破。我通过这些方法找到了一些有趣的路径,但没有发现任何可攻击的。

由于第一种侦查方法没有导致任何发现,我尝试了另一种方法-测试web应用程序的各种功能,同时运行Burp代理在后台。所有发出的请求都存储在Burp中的一个有组织的列表中,这样就可以很容易地查看所有请求,以寻找任何有趣的或可能存在漏洞的内容。

在测试web应用程序的功能后,我开始查看存储在代理日志中的请求,并遇到类似的请求:

GET /xxx/logoGrabber?url= [http://example.com][0]

Host: site.example.com

一个接受url参数的GET请求。这个请求的响应看起来是这样的,包含了关于url的标题和logo的信息:

{"responseTime":"99999ms","grabbedUrl":" [http://example.com][0] ","urlInfo":{"pageTitle":"Example Title","pageLogo":"pagelogourl"}}

这个请求立即引起了我的兴趣,因为它返回了一些关于URL的数据。当遇到从URL返回信息的请求时,测试SSRF是一个好主意。

第2部分:发现SSRF

我在SSRF的第一次尝试失败了。我能够得到外部与我的服务器的交互,但没有获得任何内部IP地址,因为他们有适当的保护。

在未能命中任何内部IP地址后,我决定看看能否命中该公司的任何公开的子域名。我为我的目标做了一些子域枚举,然后开始在请求时覆盖所有枚举域。

最后,我很幸运地发现了一些请求,这些请求返回了来自非公开访问站点的标题数据。

子域名somecorpsite.example.com就是一个很好的例子。当我试图在浏览器中访问

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值