一次简单的js逆向登录密码

登录页面抓包,然后在浏览器调试模式搜password。

找到加密的地方打个断点,这里可以看到先用md5加密,然后再用Encrypt这个函数在加密一次。

然后找到Encrypt,把它扣下来,放到ide里面,把exponent和modulus补全,这两个是个固定值。

在ide里面运行,提升缺少什么东西就去代码里面找,然后补进去,重复这个过程,直到不报错。

最后扣了550多行才不报错,与加密结果一致。

让ai写一个脚本,去调用js加密生成字典。

import execjs
# 读取JavaScript文件
with open('人才网.js', 'r', encoding='UTF-8') as file:
    js_code = file.read()
# 编译成上下文对象
context = execjs.compile(js_code)
# 读取txt文件的内容,按行分割
with open('TOP(1k).txt', 'r', encoding='UTF-8') as f:
    lines = f.readlines()
# 创建一个新的txt文件,用于存储加密后的结果
with open('PASS.txt', 'w', encoding='UTF-8') as f:
    # 对每一行调用md5函数,参数为去掉换行符的字符串
    for line in lines:
        result = context.call("Encrypt", line.strip())
        # 将加密后的结果写入新的txt文件,每行一个
        f.write(result + '\n')