1. 逆向分析背景与目标
最近在研究某短视频平台的Web端接口时,发现其请求头中包含几个关键的安全参数:bd-ticket-guard-client-data、bd-ticket-guard-ree-public-key等。这些参数看起来像是某种客户端认证机制,对于理解平台的安全策略和接口调用逻辑很有帮助。本文将分享我对这些参数的逆向分析过程和发现。
注意:本文所有分析仅用于技术研究,涉及的接口和参数均已做脱敏处理,请勿用于非法用途。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心参数定位与分析
2.1 参数来源追踪
通过浏览器开发者工具抓包分析,发现这些参数主要出现在以下几个场景:
- 评论列表接口
- 视频详情接口
- 用户信息接口
这些接口的请求头中都包含以下关键字段:
http复制bd-ticket-guard-client-data: [加密字符串]
bd-ticket-guard-ree-public-key: [公钥字符串]
bd-ticket-guard-version: "2"
bd-ticket-guard-web-sign-type: "1"
通过全局搜索和调用栈分析,发现这些参数是由前端JavaScript代码生成的,具体位于一个名为bd-ticket-guard-client-data.js的文件中。
2.2 参数生成逻辑解析
逆向分析发现,bd-ticket-guard-client-data的生成过程大致如下:
-
收集客户端环境信息:
- 浏览器指纹
- 设备信息
- 网络状况
- 屏幕分辨率
- 时区设置
-
使用RSA公钥加密上述信息
-
对加密结果进行Base64编码
核心代码逻辑可以通过以下Python示例模拟:
python复制import execjs
# 加载JavaScript加密逻辑
cp = execjs.compile(open('bd-ticket-guard-client-data.js','r',encoding='gbk',errors='ignore').read())
# 调用生成函数
result = cp.call('getClientData')
print(result)
