type
status
date
slug
summary
tags
category
icon
password
某宝cookie sign签名模拟

通过搜索关键字 sign:,定位到如下所示的代码位置。在该位置设置断点后,刷新页面可以成功拦截请求,由此确认了代码的具体位置。

分析实现算法
代码中代码可简化成如下伪码:
// p 是一个函数,传入参数 e,通过调用 function(e){} 对输入的字符串进行处理
// 其中 function(e){} 是具体的加密算法,text 是待加密的字符串
// 最终输出结果是一个 32 位的
十六进制
密文
// 将代码拆分成两部分分别进行分析
_hadoken = function(e){} // 定义加密算法的具体实现
text = o.token + "&" + a + "&" + s + "&" + n.data // 拼接字符串作为待加密的输入
函数分析
根据加密后字符串的特性,推测该算法为 MD5。将函数赋值给 _hadoken 变量后,对测试字符 "1" 进行加密,发现其加密结果与标准 MD5 算法的输出一致,因此可以确认该函数实现的是标准的 MD5 算法。

接下来对参数
o.token + "&" + a + "&" + s + "&" + n.data
的值进行分析,其实际值如下图所示:

观察得知:
o.token为cookie里面的_m_h5_tk参数,访问网站后会自动获得,且值短期内不变。

a 是时间戳,可以直接生成。
s 是 appKey,用于标识应用 ID,固定值为 12574478。
n.data 的值与查询表单的数据一致,可以直接构造。

a为时间戳,可以直接生成。
s为appKey,应该是标识应用id,固定不变为12574478。n.data的值跟查询表单相同,可以直接构造。
定位代码位置
搜索sign:关键字,定位到下图位置,设置断点后,刷新页面可以正常拦截,可以确定代码位置。分析实现算法代码中代码可简化成如下伪码:
定位代码位置
搜索sign:关键字,定位到下图位置,设置断点后,刷新页面可以正常拦截,可以确定代码位置。分析实现算法代码中代码可简化成如下伪码:
- 作者:猿榜编程
- 链接:https://www.yuanbang.lol//article/166202ba-3e23-8023-8531-fc97fb7239e2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。