大家好,希望大家一切顺利。今天,我将分享一篇详细的文章,介绍我在同一个程序中发现的两个影响深远的漏洞——这两个漏洞都影响了用户信任和核心账户验证功能。
这个漏洞赏金计划的覆盖范围比较窄,只有 2-3 个领域。鉴于此,我决定深入研究其主应用程序,最终发现了以下两个漏洞:
漏洞 1:群发消息注入——向所有客户发送恶意链接
在平台上创建帐户并购买商品时,结账流程需要帐户验证。在此身份验证步骤中,用户有两个选项:
- 直接通过网站上传身份证,或
- 选择通过短信接收安全上传链接(通过输入他们的手机号码)。
乍一看,该功能似乎很安全。我未使用任何工具探索了验证流程,只是为了了解用户体验逻辑。弄清楚之后,我开始使用Burp Suite拦截流量,并注意到一个关键请求:
POST /api/v1/验证/发送短信
该请求包含两个参数:
"to_phone_number"
:收件人的手机号码"url"
:用于上传身份证件的链接
我测试了如果修改这两个参数会发生什么情况——插入我自己的恶意 URL,并将电话号码设置为其他用户的电话号码。发送修改后的请求后,我收到了200 OK响应,链接已成功发送到受害者的手机上。
有趣的是,该平台使用 URL 缩短器来发送这些链接(可能是由于 URL 较长),这使得混淆恶意链接变得更加容易。因此,攻击者可以利用此漏洞,仅凭客户的电话号码,就向所有客户群发钓鱼或恶意负载。
漏洞 2:IDOR — 其他账户未经授权提交身份验证
现在,让我们看看第二个错误。
如前所述,该平台使用可预测的模式缩短文档上传链接。我观察到,缩短的链接遵循上升的、可预测的顺序:
https://example.com/aa https://example.com/ab https://example.com/ac ...
这种连续性意味着我可以列举大量现有的缩短网址。其中许多网址仍然有效,并直接指向其他用户进行身份验证的文档提交页面。
这带来了一个严重的IDOR(不安全直接对象引用)漏洞——我可以以其他用户的名义上传身份证件,从而有效地劫持他们的身份验证流程。这可能导致:
- 阻止合法用户验证其帐户
- 被大规模滥用,影响很大一部分用户群
结论
这两个错误都表明输入验证和访问控制严重缺失:
- 第一个漏洞允许攻击者通过短信向任何用户发送任意、潜在的恶意链接——从而进行大规模网络钓鱼或社会工程攻击。
- 第二个漏洞允许攻击者干扰关键的帐户验证,可能锁定用户或滥用验证管道。
感谢您的阅读。希望本文能帮助大家理解逻辑和授权方面的小疏忽如何导致重大安全问题。
- 公众号:安全狗的自我修养
- vx:2207344074
- http://gitee.com/haidragon
- http://github.com/haidragon
- bilibili:haidragonx
原文始发于微信公众号(安全狗的自我修养):账户验证中的群发消息注入和IDOR攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论