电商逆向系列
📒某东token的由来
00 分钟
2024-8-8
2024-9-4
type
status
date
slug
summary
tags
category
icon
password
😀
由于分析h5st参数可知,我们在加密的时候会有一个前轴,运用到了一个token和一段小代码字符串,推断可能由别的地方得来所以由此分析。
下一篇我将为大家详细讲解h5st是如何实现的。
网站:aHR0cHM6Ly91bmlvbi5qZC5jb20vcHJvTWFuYWdlci9pbmRleA==
首先我们找到对应的接口(request_algo
notion image
这里我们可以看到他返回的这个就是我们需要的token和后续h5st参数所需要的一小段加密。
由此我们看一下他请求所携带的参数有哪一些:
notion image
接下来我们将分析出所需参数如下:
1、fp
2、expandParams
通过搜索推断相对应的位置如下:
notion image
由此打上了断点,进行请求分析(注意刷新的时候需要清掉缓存,cookie并强刷)触发此函数:
notion image
其实这里我们看到他传入已经是加密好的结果,由此推断在这之前已经是处理好的加密参数,我们通过堆栈往上查找分析。
notion image
在这里我们看到结果是o来的,并且结果是由上面加密得到,看样子非常的像AES加密通过key和iv加密得到,我们先看一下明文内容是什么如下图:
notion image
其实这里就是采集到你电脑的一些基本信息。
  • 语言信息:
    • l: 语言 (中文)
    • ls: 语言设置 (中文)
  • 浏览器信息:
    • av: 浏览器版本
    • ua: 用户代理字符串
    • sua: 简化的用户代理字符串
    • pp: 浏览器插件信息(在这里为空)
    • extend: 额外扩展信息(包含多个字段,如wd, l, ls, wk, bu1, bu2, bu3, bu4, bu5, bu6
  • 屏幕和窗口信息:
    • w: 屏幕宽度
    • h: 屏幕高度
    • ow: 窗口宽度
    • oh: 窗口高度
  • 页面信息:
    • url: 当前访问页面的URL
    • og: 页面所属域名
    • pf: 平台 (Win32)
    • pr: 屏幕分辨率比例
    • re: 引荐网址(这里为空)
  • Cookie和本地存储信息:
    • pp1: 包含多个Cookie信息,例如__jda, __jdb, __jdc, __jdv, 3AB9D23F7A4B3CSS, 3AB9D23F7A4B3C9B, _gia_d, __jdu, sidebarStatus
  • 浏览器指纹信息:
    • canvas: Canvas指纹
    • webglFp: WebGL指纹
  • 错误和调试信息:
    • random: 随机生成的字符串
    • referer: 引荐网址(这里为空)
    • v: 文件版本 (h5_file_v4.7.4)
    • bu2: JavaScript错误信息(包含具体的错误位置)
  • 其他:
    • ccn: 一个数值,可能是代表某种特定的计数或标识符
    • ai: 一个标识符
    • fp: 另一个标识符
这里我们不难看出,都是一些比较基本的信息,对比一些采集严格的网站来说相对而已是比较少的,如果批量的话这里是可以添加一些随机参数,当然你在请求时也必须和这些参数一致以达到严谨性。
这里如果细心的小伙伴会觉得比较奇怪,因为我们平常如果说把一个对象转成json格式他显示的效果不应该是这样的,我们可以看到他这里显示的是整整齐齐像是有一些换行操作,那么我们这里也需要跟他一致的效果,我们往上找看他是如何实现的。
notion image
notion image
从这两处地方我们可以看到这里的json格式是比较奇怪的有一些特殊的换行符,那么我们可以直接跟上去看一下。
notion image
这个地方是通过jw函数进行实现的这个结果,我们可以看到传入的正是我们上一个函数传的一个环境的env对象、null和一个数字2。
notion image
然后到这里的基本上所有的参数都分析完毕,接下来就是进行aes加密了。
第一个传入的参数就是我们上面所说的明文,第二个则是key值了。
notion image
第三个则是iv值
notion image
最后加密得到结果。
notion image
通过把整一个js代码copy下来然后对其进行封装
notion image
使用requests进行请求得到结果。
notion image
 
💡
今天的文章到这里就结束了,后续还会出一遍专门讲解h5st参数的讲解,敬请期待。
上一篇
从零到一通杀框架构造(一)
下一篇
selenium的新一代替代品---DrissionPage

评论
Loading...