不玩游戏只黑客——我在TikTok漏洞赏金计划中赚取3000美元的经历
TikTok在HackerOne.com的漏洞赏金计划
那只是个普通的夜晚。朋友约我玩《Valorant》——这是我们的日常消遣。但不知为何,我拒绝了邀请。相反,我打开了Burp Suite,开始寻找漏洞赏金机会。这是我做过的最棒的决定。
因为那天晚上,我在TikTok发现了三个漏洞,最终赚取了总计3000美元的赏金。
侦察阶段
我的探索从简单的侦察开始。使用urlscan.io扫描TikTok相关域名的所有端点。经过一番挖掘,我得到了一个庞大的列表——大约10000个URL。
手动滚动浏览(没错,是手动),我注意到了一个路径下的端点,看起来像是活动分享功能。URL带有多个参数——这立刻引起了我的好奇心。(无法分享完整端点)
我开始尝试修改region参数。为了测试反射,我输入了这个无害的payload:
|
|
猜猜发生了什么?
它完全反射回来了。没有过滤。没有编码。
遭遇WAF——Akamai
我心想:“好吧…这可能有戏。”于是我用经典payload测试:
|
|
被Akamai——TikTok的WAF拦截了。而且不是普通的WAF…是个难缠的对手。
游戏开始了。
绕过尝试
我开始研究Akamai WAF的绕过技术。找到了一些很酷的文章,讨论字符串混淆、大小写敏感性和标签规避。
一些常见尝试包括:
</ScRiPt>
→ 被拦截</SCRIPT>
→ 被拦截</ScRpt>
→ 未被拦截,但无效</Script+xxx>
→ 短暂绕过,但最终又被过滤
我知道我需要更有创意的方案。
Payload进化
经过多次失败尝试后,我想出了这个看起来奇怪但有效的绕过字符串:
|
|
这绕过了过滤——但alert()、confirm()和prompt()在运行时都被拦截了。所以我采取了安全措施,先报告了这个漏洞,使用开放重定向payload来避免可能的重复提交。
完整payload有点疯狂,看起来像这样:
|
|
两天后,我收到了HackerOne分类团队的回复:
“需要验证的XSS”
构造真正的XSS
我重新开始研究。既然直接alert()被拦截,我尝试使用混淆访问来分解它:
|
|
完整payload:
|
|
这奏效了。我更新了我的PoC并再次发送。
内部分类团队回复:
“已确认并分类”
挑战接受。
我继续使用这个最终payload来窃取cookie:
|
|
砰。确认有效的XSS。同一天晚些时候——1000美元赏金到账。
额外收获:另外两个漏洞
在这次成功后,我继续挖掘同一路径家族下的更多端点。最终,我又发现了两个具有相同漏洞的端点。
相同的技术。相同的XSS。相同的赏金:每个1000美元。
💸 最终统计
- 第一个漏洞:1000美元
- 第二个漏洞:1000美元
- 第三个漏洞:1000美元
➡️ 总计:3000美元
而且我那晚甚至不需要玩Valorant。
给同行黑客的最终建议
漏洞赏金不仅仅是技术问题——它关乎耐心、侦察、创造力和时机。有时候,对游戏邀请说"不"能让你多赚几千美元 😂
致所有猎人:永远不要小看反射参数。最简单的漏洞可能带来最意想不到的回报——如果你知道如何正确构造payload。
持续学习,保持安全。
黑客快乐。