记录burp插件autoDecoder的一次数据解密实战
字数 1289 2025-09-01 11:26:17

Burp插件AutoDecoder实战:AES加密数据解密教程

0x01 网站加密算法分析

  1. 初步观察

    • 通过Burp Suite抓包发现请求和响应数据都被加密
    • 从密文特征判断可能使用AES加密算法
  2. 分析思路

    • 需要定位关键加密函数及参数
    • 确定是否可以进行解密操作

0x02 参数及函数定位

  1. 搜索加密算法

    • 在JS文件中搜索"AES"关键字
    • 若存在多个加密算法,需通过调试定位实际使用的函数
  2. 调试定位

    • 通过调试定位到解密关键函数m
    • 获取关键参数:
      • 密钥:n
      • 偏移量:t
      • 加密模式:ECB
      • 填充方式:PKCS7Padding
  3. 关键点

    • ECB模式下不需要IV(初始化向量)也可解密
    • PKCS7Padding可以用PKCS5Padding替代

0x03 数据解密方法

方法一:使用Burp插件AutoDecoder

  1. 插件准备

    • 安装AutoDecoder插件
    • 插件提供:
      • 内置加解密算法
      • 自定义算法框架
      • 半自动化解密流程
  2. 配置步骤

    • 在第一个选项卡中填入目标域名
    • 在算法配置部分:
      • 选择AES算法
      • 填入获取的密钥key
      • ECB模式下可不填IV
      • 选择PKCS5/PKCS7填充方式
  3. 测试解密

    • 将密文传入测试框验证能否正确解密
    • 确认算法配置正确性
  4. 保存配置

    • 分别对请求和响应包保存配置
    • 插件会将配置参数保存在文件中
  5. 自动化解密问题解决

    • 问题:未指定加密数据匹配方式,导致传入非纯密文
    • 解决方案
      • 使用"正则模式"匹配关键内容
      • 观察数据包特征(如特定开头字符串)
      • 编写匹配规则,如:"xxxxxx"(根据实际情况调整)
  6. 最终应用

    • 完成所有配置后重新保存
    • 插件将自动处理数据包中的加密数据

方法二:JS代码逆向转Python解密

  1. 逆向过程

    • 通过调试理解网站加密流程
    • 将关键JS加密函数转换为Python实现
  2. 实现功能

    • 还原加解密过程
    • 实现对单个密文的加解密
  3. 优势

    • 不依赖Burp插件
    • 可集成到自动化脚本中

关键知识点总结

  1. AES加密特征识别

    • 固定长度分块加密
    • 常见于前后端数据保护
  2. ECB模式特点

    • 不需要IV
    • 相同明文产生相同密文
    • 安全性较其他模式低
  3. PKCS填充

    • PKCS7与PKCS5在AES中可互换
    • 填充规则:缺少N字节则填充N个值为N的字节
  4. 调试技巧

    • 通过关键字搜索定位加密函数
    • 使用开发者工具调试JS代码
    • 观察网络请求与加密函数的关联
  5. AutoDecoder使用要点

    • 准确匹配密文区域是关键
    • 正则表达式可提高匹配精度
    • 测试验证后再应用到自动化流程

注意事项

  1. 法律合规

    • 仅对授权目标进行测试
    • 获取书面授权后再进行渗透测试
  2. 技术限制

    • 若使用CBC等需要IV的模式,必须获取IV
    • 某些实现可能使用自定义填充或加密流程
  3. 调试技巧

    • 可设置XHR断点定位AJAX请求加密点
    • 搜索"encrypt"、"decrypt"等关键字辅助定位

通过本教程,您应该掌握了使用AutoDecoder插件解密AES加密数据包的完整流程,以及通过逆向JS代码实现解密的替代方法。实际应用中需根据具体场景选择合适的方法。

Burp插件AutoDecoder实战:AES加密数据解密教程 0x01 网站加密算法分析 初步观察 : 通过Burp Suite抓包发现请求和响应数据都被加密 从密文特征判断可能使用AES加密算法 分析思路 : 需要定位关键加密函数及参数 确定是否可以进行解密操作 0x02 参数及函数定位 搜索加密算法 : 在JS文件中搜索"AES"关键字 若存在多个加密算法,需通过调试定位实际使用的函数 调试定位 : 通过调试定位到解密关键函数 m 获取关键参数: 密钥: n 偏移量: t 加密模式:ECB 填充方式:PKCS7Padding 关键点 : ECB模式下不需要IV(初始化向量)也可解密 PKCS7Padding可以用PKCS5Padding替代 0x03 数据解密方法 方法一:使用Burp插件AutoDecoder 插件准备 : 安装AutoDecoder插件 插件提供: 内置加解密算法 自定义算法框架 半自动化解密流程 配置步骤 : 在第一个选项卡中填入目标域名 在算法配置部分: 选择AES算法 填入获取的密钥 key ECB模式下可不填IV 选择PKCS5/PKCS7填充方式 测试解密 : 将密文传入测试框验证能否正确解密 确认算法配置正确性 保存配置 : 分别对请求和响应包保存配置 插件会将配置参数保存在文件中 自动化解密问题解决 : 问题 :未指定加密数据匹配方式,导致传入非纯密文 解决方案 : 使用"正则模式"匹配关键内容 观察数据包特征(如特定开头字符串) 编写匹配规则,如: "xxxxxx" (根据实际情况调整) 最终应用 : 完成所有配置后重新保存 插件将自动处理数据包中的加密数据 方法二:JS代码逆向转Python解密 逆向过程 : 通过调试理解网站加密流程 将关键JS加密函数转换为Python实现 实现功能 : 还原加解密过程 实现对单个密文的加解密 优势 : 不依赖Burp插件 可集成到自动化脚本中 关键知识点总结 AES加密特征识别 : 固定长度分块加密 常见于前后端数据保护 ECB模式特点 : 不需要IV 相同明文产生相同密文 安全性较其他模式低 PKCS填充 : PKCS7与PKCS5在AES中可互换 填充规则:缺少N字节则填充N个值为N的字节 调试技巧 : 通过关键字搜索定位加密函数 使用开发者工具调试JS代码 观察网络请求与加密函数的关联 AutoDecoder使用要点 : 准确匹配密文区域是关键 正则表达式可提高匹配精度 测试验证后再应用到自动化流程 注意事项 法律合规 : 仅对授权目标进行测试 获取书面授权后再进行渗透测试 技术限制 : 若使用CBC等需要IV的模式,必须获取IV 某些实现可能使用自定义填充或加密流程 调试技巧 : 可设置XHR断点定位AJAX请求加密点 搜索"encrypt"、"decrypt"等关键字辅助定位 通过本教程,您应该掌握了使用AutoDecoder插件解密AES加密数据包的完整流程,以及通过逆向JS代码实现解密的替代方法。实际应用中需根据具体场景选择合适的方法。