Bykea | 报告 #2374730 - 预订详情和竞价中的访问控制缺陷(IDOR)可能导致敏感信息泄露 | HackerOne
时间线
- 2024年2月15日 10:42 UTC - back2arie 向Bykea提交报告
- 2024年2月15日 11:12 UTC - Bykea工作人员将状态改为Triaged
- 2024年2月15日 12:02 UTC - Bykea发放赏金并将严重性定为高危
- 2024年2月29日 11:42 UTC - 报告状态改为已解决
- 2025年6月12日 14:26 UTC - 请求披露报告
- 2025年6月13日 04:36 UTC - 报告被披露
漏洞摘要
尊敬的安全团队:
我发现了一个安全问题,恶意用户能够查看其他用户的预订详情、竞价信息和竞价配置。存在漏洞的URL端点包括:
GET https://api.bykea.net/api/v1/bookings/{{booking_id}}?_id={{user_id2}}&token_id={{access_token2}}
GET https://api.bykea.net/api/v2/bids/{{booking_id}}?_id={{user_id2}}&token_id={{access_token2}}
GET https://boleelagao.bykea.net/v1/config?lat={{latitude}}&lng={{longitude}}&service_code=23&trip_id={{booking_id}}
在此情况下,请求URL中的booking_id参数存在IDOR漏洞。
复现步骤
1. 创建测试账户
创建两个用户:攻击者(乘客用户名█████████)和受害者(乘客用户名██████████)
2. 受害者身份验证
作为受害者进行身份验证,获取user_id和access_token
3. 创建新行程
请求:
|
|
响应:
|
|
成功创建ID为██████的新行程/预订
4. 攻击者身份验证
作为攻击者进行身份验证,获取user_id2和access_token2
5. 访问预订详情API
请求:
|
|
响应:(成功获取受害者预订详情,包含大量敏感信息)
6. 获取竞价信息
请求:
|
|
响应:
|
|
7. 获取竞价配置
请求:
|
|
响应:
|
|
修复建议
可以通过检查预订/行程ID是否属于登录用户来进行修复,通过其访问令牌进行验证。
影响
- 攻击者可以查看其他用户预订详情中的敏感信息,如接送地点、电话号码、跟踪信息等
- 攻击者可以查看其他用户预订的竞价信息
- 攻击者可以查看其他用户预订的竞价配置
参考资料
- [MITRE] CWE-639: 不安全的直接对象引用(IDOR)
- [PortSwigger] 不安全的直接对象引用(IDOR)
漏洞信息
- 报告ID: #2374730
- 严重性: 高危(7~8.9)
- 弱点: 不安全的直接对象引用(IDOR)
- CVE ID: 无
- 状态: 已解决
- 披露时间: 2025年6月13日 04:36 UTC