如何操纵Bugcrowd平台排名:API漏洞利用详解

本文详细介绍了如何通过Bugcrowd API漏洞操纵平台排名,包括技术细节、利用方法和潜在影响,涉及API请求构造和排名算法安全风险。

如何操纵我在Bugcrowd平台上的排名

近年来,随着越来越多的公司依赖众包平台来发现系统漏洞,漏洞赏金计划变得越来越受欢迎。因此,这些平台的安全性也变得至关重要。去年,我发现了一种可以操纵Bugcrowd平台排名的方法,在本文中,我将分享我是如何做到的,以及可能带来的影响。

作为背景,我当时正在测试Bugcrowd平台,发现可以通过使用Bugcrowd API导入大量报告并奖励自己积分来操纵我的排名。尽管这些是演示积分,不会在我的主资料公开页面上显示,但它们会显示在我的提交页面的积分总计中,并且这些演示积分被包含在平台的排名算法中。通过利用这一点,我在平台上排名第10,尽管只有3205分。而原本排名第11的人有13789分。

这是一个严重的问题,因为攻击者如果能够增加和修改数据点,可能会影响平台排名,并可能获得间接的经济利益。例如,他们可以在公共平台上展示虚假排名,这可能导致企业声誉受损和客户信任丧失。

以下是该漏洞的技术细节及其工作原理:

基本上,为此,你需要在Bugcrowd上创建两个账户:一个研究员账户和一个公司账户。从你的跟踪账户创建一个演示程序并获取你的API凭据。之后,你需要根据Bugcrowd的官方文档制作一个API请求,为你的研究员账户创建一个可认领的提交,以下是代码示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import requests

headers = {
    'accept': 'application/vnd.bugcrowd+json',
    'authorization': 'Token <ADD-YOUR-API-TOKEN>',
    'content-type': 'application/json',
}

data = '{"submission":{"source":"platform","title":"Security Breached","submitted_at":"2022-06-07T00:00:00.181Z","substate":"resolved","vrt_id":"server_side_injection.remote_code_execution_rce","priority":"1","researcher_email":"[email protected]"}}'

response = requests.post('https://api.bugcrowd.com/bounties/<YOUR-BOUNTY-UUID>/submissions', headers=headers, data=data)

print((response.text))

一旦你的请求成功,你将收到一封包含可认领链接的电子邮件,认领此提交后,你将获得演示积分,这些积分将显示在你的提交页面的侧边栏中。

当我收集到足够的演示积分后,我可以看到排名的变化。例如,Bugcrowd上的@MorningStar原本排名第10,但当我将我的排名推到他之上时,他被推到了第11位。

该漏洞的影响涉及Bugcrowd的业务方及其关联方,因为排名是平台对其他用户和企业信任的一部分。这个问题可能导致声誉受损、客户信任丧失和经济损失。

我将此问题报告给了Bugcrowd,他们迅速修复了它。我感谢他们的快速响应和对安全的重视。这次经历让我认识到负责任披露的重要性,以及漏洞赏金计划在确保数字世界安全中的作用。

总之,随着漏洞赏金计划越来越普遍,保持警惕并识别任何可能被利用的潜在漏洞非常重要。我鼓励研究人员和公司都认真对待安全,并共同努力使互联网更安全。

感谢阅读!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计