声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |
背景介绍
在本文中,const 和 mrhavit 将分享他们发现跨站脚本漏洞的经验,该漏洞可能在多个 TikTok 应用程序中导致帐户接管。
故事是如何开始的
一切都像往常一样从浏览 TikTok APP 开始,这一次他们打开了 VPN,而 VPN 有一个随机连接位置的选项,在他们浏览 TikTok 应用程序时,连接设置为了中国。
当他们试图访问 https://tiktok.com/ 时,立即被重定向到另一个网页,上面显示“此页面在您所在的地区不可用”。
新的重定向 URL 包含一些参数,第一个参数是“status”,它负责页面内容,第二个参数是“link”,目前还不知道它会如何影响页面。
当将“status”参数的值更改为“1”时,页面内容发生了变化,并出现了一个新按钮。单击该按钮会重定向到“link”参数的值,这就是“link”参数发挥作用的地方。
继续挖掘!
通过插入一些常见的 XSS Payloads,如
"javascript:alert()" 和 "javascript://"
开始测试“link”参数值,但没有任何变化,重定向链接仍设置为“https://go.onelink.me/BAuo/”。
过了一会儿,他们开始意识到实际上是可以控制路径的,这就意味着可以将“link”参数值设置为“https://go.onelink.me/mrhavit/”,而这个链接实际上也会嵌入到 HTML 中。
那么下一步就是检查是否会被困在“href”属性中,或者是否有可能突破并设置一些事件,正如你所想的那样,由于转义设置不正确,可以成功地将一个新事件插入到“href”属性中。
也就是在此时,他们意识到这是一个非常好的XSS线索,那么就继续深入挖掘吧!
黑客时间
由于位于“href”属性内,并且可能会注入想要的任何事件,因此“onclick”是最合适的,当尝试这样做时,他们很快就遇到了每个安全人员都遇到过的麻烦事——WAF!
由于这是一个非常特殊的案例和一个独特的注入点,因此,他们开始琢磨如何处理这个 WAF,并试图通过制作一个独特的Payloads来绕过它。
绕过 WAF 并非易事, “>”和“<”等特殊字符被正确转义或编码,在花了一些时间并利用 JavaScript 技能之后,他们终于找到了一个很酷的绕过方法,可以让他们成功地执行 JavaScript!
原文始发于微信公众号(骨哥说事):从XSS到TikTok账户接管之旅
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论