在挖edu的时候发现某站存在sign加密
当我们获取其他页的时候发现接口验签错误
说明sign值是变化的
直接搜索
断点拦截下来发现并不是我想要的url
添加一个断点规则
这里的意思是匹配到PageList就断下来
可以发现跟我们的sign一样
e则是请求的参数
那么跟进去看看这个函数
因为换了一页刷新了一次 sign值改变了但是原理一样
这里返回的就是sign值
这里根据代码逻辑就是将r[a]+u[t]然后再被s加密
这里的r[“a”]经过刷新发现是固定值
‘B3978D054A72A7002063637CCDF6B2E5’
u(t)发现是此值
发现就是是将上面请求的参数名和参数值拼接在一起的一个值
然后就是s加密了
然后就是解决s加密了
发现是md5那么 思路就是两个拼接 然后md5加密得到sign值
那么写脚本就ok了
可以看见替换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 欢迎哥哥们骚扰
© 版权声明
暂无评论内容