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 数组属性和方法
- 使用soapUI消费SAP Cloud for Customer的web service
- 视频上云网关EasyNTS智能云组网如何通过23端口穿透实现远程控制功能?
- 视频上云网关平台EasyCVR登录页开发控制台报net::ERR_CONNECTION_TIMED_OUT错误
- 视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——开启存储服务
- 设计模式~责任链模式
- 大数据计算的基石——MapReduce
- SPA单页应用的优缺点
- 《JavaScript 模式》读书笔记(7)— 设计模式1
- CenterNet测试推理过程
- Docker学习笔记[nginx]
- MySQL集群搭建方案(PXC)
- Java8——行为参数化传递代码
- 【设计模式系列(二)】彻底搞懂单例模式
- 【设计模式系列(一)】彻底搞懂工厂模式
- 深入理解Arrays.sort()底层实现