首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
Android安全
发新帖
2
0
[原创] TikTok Web端协议算法分析
发表于: 2025-11-14 17:00
9849
[原创] TikTok Web端协议算法分析
CuteHacker
2025-11-14 17:00
9849
# TikTok Web端协议算法分析 ## 前言 文章仅供学习参考,请勿用于违法乱纪。接下来我们一起看看TikTok的web签名算法,X-Bogus & X-Gnarly。 网址:<mark class="encrypted">47cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2@1K9h3E0@1L8$3E0Q4x3X3g2U0L8$3#2Q4x3V1k6Q4y4o6m8E0j5h3E0W2j5h3W2Y4M7X3g2S2N6r3q4Y4j5h3W2F1y4o6M7`.</mark> 接口: /api/post/item_list/ (达人作品列表) SDK文件路径:/obj/tiktok-web-tx/webmssdk/2.0.0.447/webmssdk.js 这个插桩点和数据加载流程和国内DY基本都是一样的。 ## X-Bogus 这个签名是老演员了,一开始就校验上了。该算法入参是:query, user_agent, body 区分GET/POST请求,如果在log里发现了'd41d8cd98f00b204e9800998ecf8427e' 这个就是空值的md5值,也就表示GET请求。首先分别进行算法签名2次得到字节数组,取其最后两位元素,后续持续拼接为一个21位的字节数组,最后魔改码表('Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=')生成。其中,参与运算的还有canvas值,时间戳,密钥数组,rc4流加密等。 ## X-Gnarly 长度:268/ 300/ 324(最新)增加数据列表长度,即可增加X_Gnarly长度 暂时都可以使用。 ```txt X_Gnarly MxESwhNLFU-YEm8UJQE9MFkqSv1tYBzQSumsUgvx2gkBDuyDoOtYgjfevQLRBYiqFDVA4JlRGUmgNb-taI6XlLBcPfok3XhdLeKr98A2N2gyRYbXaKtgZQ2QK4UHWPVnM312BChLi4o99N-aE5PEt4EIYVkiGCK2-GbOjzw0rWemJyuKFUev2e-hvqXXBp3jIzozFjMuiAkesNXWDB31mOPlIlcv1EsmT6qcZuvJVf/zKrdZXTbBddkZ3TxKhHs5JxwZrfIRjNdIKhy62e0Zom/UOrtMk-O4wfmgb-SS61-zj0e9pTwYeN7M4bXkNe1ECrA= '5.1.3', '2.0.0.447' ``` 通过解密算法解出明文参数: ```json // 列表长度 15 [ 0, // 固定 65, // 变化 14, // 变化 "acb9ceabab0b8cfcf0f28be40ffeeae4", // query md5值 "d41d8cd98f00b204e9800998ecf8427e", // body md5值 GET默认body = '' "f18b5213b6de2490ec9be218b0f025b0", // user-agent md5值 1763107246, // 时间戳 动态因素 2363850128, // canvas值 1696407985, // 随机数 时间相关 测试发现 可以固定范围 "5.1.3", // 算法版本 最开始是5.0 "2.0.0.447", // webmssdk/2.0.0.447 js文件版本 1, // 固定 // 以下是新加的元素 没啥影响 2, // 变化 1, // 变化 4312084 // 变化 ] ``` 可以看到其和X-Bogus,A-Bogus算法都没啥区别,相同的算法思路设计。 接着继续聊X-Gnarly算法,数组准备好了后会对整体数组进行xor计算,xor初始值默认值是0,后续根据数据类型进行不同处理。添加xor元素到数组里,接着对数组进行排序打乱,这里也有对应算法。最后根据不同的数据类型添加数组里不同元素的索引和值信息,多个分支不同处理流程。然后就是一个魔改的流加密算法了,需要清楚密钥是什么。该X-Gnarly对应的密钥如下,即可唯一确定目标参数。 ```json [ "0.16676794365048409", "0.09791544009931386", "0.7086712564341724", "0.06493830471299589", "0.6804928914643824", "0.671537404647097", "0.3154390335548669", "0.796996020944789", "0.987317256629467", "0.5382072266656905", "0.21200472488999367", "0.0768559209536761" ] ``` 最后这里的处理和日志上报参数strData相得益彰,最终魔改码表('u09tbS3UvgDEe6r-ZVMXzLpsAohTn7mdINQlW412GqBjfYiyk8JORCF5/xKHwacP=')。 ## 结语 *************
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
最后于
2025-11-14 17:19 被kanxue编辑 ,原因: 仅技术交流
#逆向分析
#协议分析
收藏
・
2
点赞
・
0
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
5
)
mb_ssqfhuxt
雪 币:
8
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
1
粉丝
0
关注
私信
mb_ssqfhuxt
2
楼
联系方式老板
2025-11-17 02:37
0
CuteHacker
雪 币:
142
活跃值:
(645)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
30
粉丝
40
关注
私信
CuteHacker
3
楼
联系方式在简介的 有需要可以联系
2025-11-30 23:10
0
Diana111
雪 币:
218
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
6
粉丝
0
关注
私信
Diana111
4
楼
大佬牛逼,求合作
2026-1-19 23:28
0
我喜欢你bcd
雪 币:
0
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
8
粉丝
0
关注
私信
我喜欢你bcd
5
楼
666
2026-1-30 00:04
0
Diana111
雪 币:
218
能力值:
( LV1,RANK:0 )
在线值:
发帖
0
回帖
6
粉丝
0
关注
私信
Diana111
6
楼
要不要变现
2026-3-16 23:23
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
CuteHacker
5
发帖
30
回帖
10
RANK
关注
私信
他的文章
[原创] TikTok X-Dynosaur 恐龙算法
7279
[原创] TikTok Web端协议算法分析
9849
[原创] 某海外短视频TikTok验证码分享
3181
[原创] 某音短视频App滑块分享
3060
[原创]某海外短视频平台TikTok Web端账号登录注册协议【原创文章,仅供参考】
6936
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部