Python 爬虫进阶必备 | 关于某电商 token 参数加密逻辑分析
今日网站
aHR0cHM6Ly9oYW9odW8uamlucml0ZW1haS5jb20vdmlld3MvcHJvZHVjdC9pdGVtP2lkPTMzODAyODQ5MDY2NzU1MDM3NDAmcGFnZV9pZD0zMzgwMjg1NDczNTYxMTMyMTA3Jm9yaWdpbl90eXBlPTE=
这个例子同样来自咸鱼的技术交流群
抓包分析与加密定位
先打开网站,定位到需要分析的请求
这个请求带着一个签名,而且这个值是一直不变的,位数一直保持的 32 位,可以大胆猜测他是 MD5 加密,之后的分析结果也同样验证了这一点。
先全局搜索一下,因为这个参数名在没有做混淆所以直接可以搜索到,不过这结果比较多,找起来还是比较耗费时间的。
第一种方式是检索token:
,结果只有两个,只要再次检索就能定位到了。
第二种就是XHR
断点这个之前讲过的,不过这里不推荐新手用 XHR 断点,新手分析一圈就懵了。
这里提供一个思路,如果检索的结果很多,但是 XHR 断点又分析不出来是那个堆栈的话,可以在 XHR 断点的每个堆栈里面搜索关键词,然后再打上断点分析,算是一种过滤的手段吧。
我们先打上 xhr 断点
然后再经过的堆栈里逐个分析
在这个位置就可以看到token
了(上面的小技巧都没用到)
加密分析
打上断点,刷新
这里的s
就是传入的id
值了
之后直接单步即可进入加密逻辑了b.a
这里可以看到这里主要的逻辑是r()
,经过一次r()
之后将结果与s
拼接之后再传入r()
所以探究一下r()
就可以了,直接步入,可以看到下面的结果
简单的有点明显,为了验证结果,把页面加密的结果和我们自己的加密对比一下
页面的结果:
我们自己的测试结果:
好吧,结果没有什么不一样的,就是先将id
哈希一次,然后拼接上zd2019@@1157
再哈希一次,就是这样。
好咯,以上就是今天的全部内容了,咱们下次再见~
[ 完 ]
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python 技术篇-调用浏览器访问指定网页,一行代码实现。非Selenium。
- 数据库热备份神器 - XtraBackup
- Python 技术篇-读取文件,将内容保存dict字典中。去掉字符串中的指定字符方法。dict字典的遍历。
- PyQt5 技术篇-plainTextEdit控件获得文本内容方法、设置文本内容方法。
- PyQt5 技术篇-鼠标移动控件显示提示,Qt Designer控件提示设置方法。
- PyQt5 技术篇-窗口名、窗口图标的设置方法。
- 101个shell脚本
- PyQt5 图片兼容性问题:"libpng warning: bKGD: invalid.",原因及解决办法。
- 编程语言经典小例题—Python版【持续更新】
- Python+selenium 自动化-切换窗口页签、切换iframe框架。确定页面是否包含iframe方法。
- JavaScript 技术篇-js获取iframe内的元素方法。
- QQ二维码登录API源码
- JavaScript 技术篇-js获取document的几种方式,js获取dom元素的常用方法。
- 不好意思,我膨胀了!shader 入门精要!Cocos Creator 3D Shader !
- JavaScript 技术篇-js获取dom节点、html标签自定义属性的值。