前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小红书话题x-s x-b3-traceid

小红书话题x-s x-b3-traceid

作者头像
李玺
发布2022-05-03 11:31:12
2.2K0
发布2022-05-03 11:31:12
举报
文章被收录于专栏:爬虫逆向案例

x-s

x-s比较藏的比较隐晦,找了好一会儿,根据经验找 e.headers 找到的。

最终位置在window.sign(d, e.data)中返回。

在堆栈调试中,
在堆栈调试中,

可以看到window.sign(d, e.data)返回了x-s和x-t。

在这里插入图片描述
在这里插入图片描述

并且 d 是 ‘/api/store/abtest/v3’ ,e.data 是undefined。

接下来查看window.sign方法。

在这里插入图片描述
在这里插入图片描述

把这一整段都拿下来运行,删除无用代码。

运行,成功返回x-s和x-t。

在这里插入图片描述
在这里插入图片描述

x-b3-traceid

全局搜索x-b3-traceid。找到位置后断点调试。

在这里插入图片描述
在这里插入图片描述

查看te方法。

在这里插入图片描述
在这里插入图片描述

math.random()返回选取大于等于 0.0 且小于 1.0 的伪随机值 math.floor(x)返回小于参数x的最大整数,即对浮点数向下取整 charAt(int index)方法是用通过下标取字符

x-b3-traceid 的生成,翻译为python代码:

代码语言:javascript
复制
import random,math
e = ""
for t in range(16):
    e+="abcdef0123456789"[math.floor(16 * random.random())]
print(e)

很遗憾,如果这三个参数只是这么构造的话就错了,最后还有一步处理。

最终生成

我测试了之后,发现并没有结束。

在这里插入图片描述
在这里插入图片描述

经过对比可以发现,最终的x-s和window.sign(d, e.data)的不同,还需要一些处理。

在这里插入图片描述
在这里插入图片描述

先看e.headers = Ke(Ke(Ke({}, e.headers), f), v)调试。

f是之前生成的x-s和x-t , e.headers是x-b3-traceid。

在这里插入图片描述
在这里插入图片描述

ke方法。

在这里插入图片描述
在这里插入图片描述

流程分析完成,后续需要按步骤扣代码补环境。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/05/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • x-s
  • x-b3-traceid
  • 最终生成
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档