利用时光机所发现的 SSRF

文摘   2024-12-20 23:28   江苏  

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。





前言

wayback machine,这是一个获取隐藏 URL 的伟大工具。通过以下URL即可轻松获取 URL:

https://web.archive.org/cdx/search/cdx?url=*.redacted.com/*&output=text&fl=original&collapse=urlkey&filter=statuscode:200

当选择一个网站(例如上面 URL 参数中的 redacted.com)时,我们可以 wayback url 中寻找 API 端点和有价值的参数,如 getImage、 url 、 path 等。

漏洞发现

在一次搜索中,白帽小哥发现了一个可以用于生成 PDF 的 API,参数作为 GET 参数进行传递,URL看起来如下;

https://redacted.com/pdf-service?path=/test/testpage

白帽小哥开始尝试读取一些本地文件,但没有发现任何重要内容:

https://redacted.com/pdf-service?path=/../../../../../../../../etc/passwd

然后白帽小哥尝试传递一个URL给这个参数:

https://redacted.com/pdf-service?path=somethinglikethis.com

同样失败,但却收到了这个请求一些内部报错,于是白帽小哥开始尝试一些字符,看能否绕过该验证:

https://redacted.com/pdf-service?path=@google.com

成功!可以在 PDF 中看到谷歌页面。

这是一个 PDF 生成器,它会将页面转换为 PDF。然后白帽小哥用collaborator URL 试了试,发现该服务器部署在 AWS ec2 上。并且可以看到AWS ec2的几个 IP 地址。

于是白帽小哥开始尝试获取AWS元数据,但却看到的是一个空白的 PDF 页面。

这是因为当服务器无法访问一个域名时,它会返回了一个内部服务器错误。

经过一些尝试后,白帽小哥顺利获得服务器 200 状态响应并返回了 AWS 元数据:

其实这时候已经足够报告漏洞了,但白帽小哥对内部网络心生好奇。

因为这是一个生产环境,白帽小哥发现了一些内部域名。

于是小哥尝试从 localhost 获取一些端口,并成功得到了 3000 端口,这是 nodejs 端口。

但经过几番尝试后,小哥发现扫描 localhost 会导致拒绝服务,于是小哥不得不停止了扫描,只好乖乖地迅速报告漏洞,静静地等待赏金奖励。

如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款

往期回顾

一款bp神器

ssrf绕过新思路

一个辅助测试ssrf的工具


dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips



以上内容由骨哥翻译并整理。

原文:https://medium.com/@gguzelkokar.mdbf15/from-wayback-machine-to-aws-metadata-uncovering-ssrf-in-a-production-system-within-5-minutes-2d592875c9ab



迪哥讲事
作者主页: https://github.com/richard1230
 最新文章