JsRpc联动burp实现自动加解密(详细版)
字数 905 2025-08-29 08:30:13

JsRpc联动Burp实现自动加解密详细教程

一、JsRpc基本介绍

JsRpc是一种通过JavaScript环境实现远程过程调用的技术,在渗透测试中常用于处理Web应用中的加解密逻辑,无需逆向具体算法即可实现自动化加解密。

二、准备工作

  1. 观察原始数据包特征:

    • 请求体需要解密
    • 请求头中的三个字段需要实时更新:
      • timestamp
      • requestId
      • sign
  2. 工具准备:

    • Burp Suite
    • JsRpc工具包(包含JsEnv_Dev.js)
    • mitmproxy(用于编写联动脚本)

三、JsRpc使用步骤

1. 定位加解密函数

  1. 在浏览器开发者工具中设置断点,让目标JS文件加载到作用域
  2. 在控制台执行语句将加解密函数提升至全局作用域

2. 注入JsRpc环境

  1. 停止断点
  2. 注入JsRpc中的JsEnv_Dev.js文件

3. 启动JsRpc服务

  1. 启动JsRpc服务端
  2. 客户端连接服务端
    • 连接成功后服务端会提示"新上线..."

4. 注册处理函数

  1. 将加解密函数注册到JsRpc中
    • 上方注册加密函数
    • 下方注册解密函数

5. 测试功能

测试格式:

{
  "zzz": "加入的组名(与连接时相同)",
  "action": "注册的函数名",
  "param": "要处理的参数"
}
  • 加密测试:验证加密功能是否正常
  • 解密测试:验证解密功能是否正常

四、联动Burp实现自动化

1. 使用mitmproxy编写脚本

  1. 编写mitmproxy脚本处理请求/响应
    • 自动更新请求头中的三个字段
    • 自动处理加解密逻辑

2. 配置Burp代理设置

  1. 设置Burp的上游代理指向mitmproxy

3. 运行脚本

  1. 启动mitmproxy并加载脚本
  2. 通过Burp发送请求验证自动化效果

五、验证效果

  1. 密码不正确时:系统会返回相应错误
  2. 密码正确时:
    • Burp界面中请求头字段看似未变
    • 实际请求中字段已被脚本更新
    • 加解密过程自动完成

六、优势总结

  1. 无需逆向具体JS算法
  2. 自动化处理加解密流程
  3. 实时更新动态字段
  4. 与Burp无缝集成,提高测试效率

七、注意事项

  1. 确保JS环境正确加载
  2. 函数提升到全局作用域时注意作用域链
  3. 组名(zzz)必须与连接时一致
  4. mitmproxy脚本需正确处理请求/响应流

通过以上步骤,可以高效实现Web应用加解密的自动化处理,显著提高渗透测试效率。

JsRpc联动Burp实现自动加解密详细教程 一、JsRpc基本介绍 JsRpc是一种通过JavaScript环境实现远程过程调用的技术,在渗透测试中常用于处理Web应用中的加解密逻辑,无需逆向具体算法即可实现自动化加解密。 二、准备工作 观察原始数据包特征: 请求体需要解密 请求头中的三个字段需要实时更新: timestamp requestId sign 工具准备: Burp Suite JsRpc工具包(包含JsEnv_ Dev.js) mitmproxy(用于编写联动脚本) 三、JsRpc使用步骤 1. 定位加解密函数 在浏览器开发者工具中设置断点,让目标JS文件加载到作用域 在控制台执行语句将加解密函数提升至全局作用域 2. 注入JsRpc环境 停止断点 注入JsRpc中的JsEnv_ Dev.js文件 3. 启动JsRpc服务 启动JsRpc服务端 客户端连接服务端 连接成功后服务端会提示"新上线..." 4. 注册处理函数 将加解密函数注册到JsRpc中 上方注册加密函数 下方注册解密函数 5. 测试功能 测试格式: 加密测试:验证加密功能是否正常 解密测试:验证解密功能是否正常 四、联动Burp实现自动化 1. 使用mitmproxy编写脚本 编写mitmproxy脚本处理请求/响应 自动更新请求头中的三个字段 自动处理加解密逻辑 2. 配置Burp代理设置 设置Burp的上游代理指向mitmproxy 3. 运行脚本 启动mitmproxy并加载脚本 通过Burp发送请求验证自动化效果 五、验证效果 密码不正确时:系统会返回相应错误 密码正确时: Burp界面中请求头字段看似未变 实际请求中字段已被脚本更新 加解密过程自动完成 六、优势总结 无需逆向具体JS算法 自动化处理加解密流程 实时更新动态字段 与Burp无缝集成,提高测试效率 七、注意事项 确保JS环境正确加载 函数提升到全局作用域时注意作用域链 组名(zzz)必须与连接时一致 mitmproxy脚本需正确处理请求/响应流 通过以上步骤,可以高效实现Web应用加解密的自动化处理,显著提高渗透测试效率。