某电子平台js逆向sign值

某电子平台js逆向sign值

在挖edu的时候发现某站存在sign加密

当我们获取其他页的时候发现接口验签错误

9eb60bc8bf20250920220340

 

说明sign值是变化的

直接搜索

d2b5ca33bd20250920214726

断点拦截下来发现并不是我想要的url

087587f60e20250920214900

添加一个断点规则

fb5c81ed3a20250920214948

这里的意思是匹配到PageList就断下来

10fb15c77220250920215034

可以发现跟我们的sign一样

e则是请求的参数

09dd8c266220250920215111

那么跟进去看看这个函数

8266e4bfed20250920215225

因为换了一页刷新了一次 sign值改变了但是原理一样

f19c90851220250920215314

这里返回的就是sign值

这里根据代码逻辑就是将r[a]+u[t]然后再被s加密

这里的r[“a”]经过刷新发现是固定值

9eb9cd58b920250920215401

‘B3978D054A72A7002063637CCDF6B2E5’

u(t)发现是此值

602e8f042f20250920215446

发现就是是将上面请求的参数名和参数值拼接在一起的一个值

然后就是s加密了

然后就是解决s加密了

 

586e508f1620250920220017

 

发现是md5那么 思路就是两个拼接 然后md5加密得到sign值

那么写脚本就ok了

59b2900aa020250920220134

可以看见替换sign之后请求就正常了

最后附上脚本

import hashlib
import json

# 原始字符串
original_string = 'B3978D054A72A7002063637CCDF6B2E5'

# JSON 数据
json_data = {
    'pageSize': 5,
    'type': '12',
    'ts': 1739369392706,
}

# 将 JSON 数据转换为字符串并按要求排序
sorted_string = ''.join(f"{key}{value}" for key, value in sorted(json_data.items()))

# 拼接字符串
final_string = original_string + sorted_string

# 计算 MD5 值
md5_result = hashlib.md5(final_string.encode()).hexdigest()

# 输出结果
print("拼接后的字符串:", final_string)
print("MD5 加密结果:", md5_result)

后面响应包解密

如果大家喜欢再更QAQ

最后qq:3661629617 欢迎哥哥们骚扰

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容