文章目录
-
- 声明
- 0x00 开局:看起来成功,实际什么都没拿到
- 0x01 第一个坑:params= 帮倒忙
- 0x02 用对照组拆问题
- 0x03 X-Gnarly 里面到底有什么
- 0x04 真正敏感的是 field14/15/16
- 0x05 X-Bogus:名字很凶,当前接口不怎么凶
- 0x06 纯 Python 还原 X-Gnarly
- 0x07 主评论列表纯 Python 实测
- 0x08 回复列表(二级评论)接口更宽松
- 0x0A 这次最有价值的经验
-
- 1. 先做对照组,不要靠猜
- 2. 200 不代表成功
- 3. raw query 是签名接口的生命线
- 4. 不要迷信参数名字
- 5. 算法还原只是半程
- 0x0B 最后总结
声明
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除!
本文记录一次 Web API 签名逆向与协议调试过程。目标是理解评论接口请求参数中 msToken、X-Bogus、X-Gnarly 的生成与校验关系,并尽量还原到脱离浏览器的协议脚本中运行。
0x00 开局:看起来成功,实际什么都没拿到
这次分析的接口是 TikTok Web 端评论列表:
https://www.tiktok.com/api/comment/list/

请求里最显眼的三个参数是:
msToken
X-Bogus
X-Gnarly
第一眼看上去并不复杂:页面上能抓到完整请求,响应也是标准 JSON。把 URL、headers、cookies 原样搬到 Python 里,理论上应该能跑。
结果第一发就很有教育意
