白帽故事 · 2024年12月11日 0

发现关键漏洞获得 $4,000 赏金奖励

子域枚举

本次狩猎中,分别使用了 Subfinder、Findomain 和 Assetfinder 等工具来对目标子域进行收集。

同时,为了删除重复项,可以利用 anew 工具,然后配合 httpx 来识别活跃子域。

在获得所有活跃子域后,使用 Eyewitness 工具对域名进行快速截图。

file

发现

在某个子域 test-domain-h1.app.com 发现一处有趣的登录和注册页面。

首先,了解一个应用程序的业务逻辑对于发现漏洞至关重要。

比如:一个电子商务的应用程序:就可以尝试寻找支付、定价和结账流程中的漏洞。

一个票务预订平台:则可以尝试寻找票务创建、共享和预订管理等功能中的漏洞。

对于本次目标,一个类似票务预订的应用程序,应特别关注它的核心功能,留意可能扰乱业务或危及用户数据的薄弱环节。

测试应用程序功能

在了解了应用程序的工作流程后,就可以测试票证创建和注册链接功能了。

首先在创建票证期间的姓名、电子邮件和描述等字段中注入Payloads如'><svg/onload=confirm(1)>

其次可以生成并测试注册链接,来验证Payloads是否可以触发 XSS 攻击。

初步发现

成功发现多处 XSS 漏洞,可惜的是,撞洞了。

file

撞洞很正常,重要的是心态。

突破

在研究管理功能时,发现一个标有“EXPORT YOUR CUSTOMERS”(导出您的客户)的按钮,它允许将客户数据导出为 PDF 或 Excel 文件。

通过 Burp Suite 拦截导出请求,发现以下POST请求:

POST /FileGenerator/user/ZAZZ-SDFSSDF-ZERZE-QSDFQSF  
Host: test-domain-h1.app.com  
Cookie: ....
{
  "UserID": "ZAZZ-SDFSSDF-ZERZE-QSDFQSF"
}

响应包中返回了一个 fileID,该 ID 稍后会在 GET 请求中用于获取客户数据。而通过改变 fileID 值(比如递增),可以获得其它客户数据的访问权限,包括:

  • 姓名
  • 电子邮件
  • 邮政编码
  • 电话号码
  • 地址

该漏洞泄露了价值数千美元的敏感信息!

第一时间上报该漏洞,顺利收获$2,000赏金奖励。

file

而在该应用程序的 VIP 功能中同样发现了与 VIP 客户数据相关的类似导出功能。

通过类似利用,同样存在IDOR漏洞,再次收获$2,000赏金奖励。

file

关键要点

  1. 枚举:尽可能枚举多的子域,它们通常蕴藏着巨大宝藏

  2. 了解业务逻辑:分析每项功能的目的和影响,锁定关键漏洞

  3. 坚持就会有回报:遭遇挫折很常见,但用新想法重新审视目标可以带来重大发现

  4. 撞洞?不放弃:测试类似的功能通常可以发现被忽视的漏洞

以上内容由骨哥翻译并再创作,希望对你有所帮助。

原文:https://medium.com/@zack0x01_/how-i-found-a-critical-vulnerability-and-earned-4-000-in-bug-bounty-hunting-2ce4a1227fdc