JS逆向- 今日头条电商 token

今日网站

下面这个例子比较简单,发布完之后才知道是某大厂。。

aHR0cHM6Ly9oYW9odW8uamlucml0ZW1haS5jb20vdmlld3MvcHJvZHVjdC9pdGVtP2lkPT

MzODAyODQ5MDY2NzU1MDM3NDAmcGFnZV9pZD0zMzgwMjg1NDczNTYx

MTMyMTA3Jm9yaWdpbl90eXBlPTE=

这个例子同样来自咸鱼的技术交流群

抓包分析与加密定位

先打开网站,定位到需要分析的请求

这个请求带着一个签名,而且这个值是一直不变的,位数一直保持的 32 位,可以大胆猜测他是 MD5 加密,之后的分析结果也同样验证了这一点。

先全局搜索一下,因为这个参数名在没有做混淆所以直接可以搜索到,不过这结果比较多,找起来还是比较耗费时间的。

第一种方式是检索token:,结果只有两个,只要再次检索就能定位到了。

第二种就是XHR断点这个之前讲过的,不过这里不推荐新手用 XHR 断点,新手分析一圈就懵了。

这里提供一个思路,如果检索的结果很多,但是 XHR 断点又分析不出来是那个堆栈的话,可以在 XHR 断点的每个堆栈里面搜索关键词,然后再打上断点分析,算是一种过滤的手段吧。

我们先打上 xhr 断点

然后再经过的堆栈里逐个分析

在这个位置就可以看到token了(上面的小技巧都没用到)

加密分析

打上断点,刷新

这里的s就是传入的id值了

之后直接单步即可进入加密逻辑了b.a

这里可以看到这里主要的逻辑是r(),经过一次r()之后将结果与s拼接之后再传入r()

所以探究一下r()就可以了,直接步入,可以看到下面的结果

简单的有点明显,为了验证结果,把页面加密的结果和我们自己的加密对比一下

页面的结果:

我们自己的测试结果:

好吧,结果没有什么不一样的,就是先将id哈希一次,然后拼接上zd2019@@1157再哈希一次,就是这样。

好咯,以上就是今天的全部内容了,咱们下次再见~

煌金 wechat
扫描关注公众号,回复「1024」获取为你准备的特别推送~