收藏一下~
可以收录到专辑噢~
Burp+Python 深度联动:AES加密数据自动化处理实战指南

一、核心场景:破解 AES 加密通信的关键需求
在渗透测试中,遇到 API 数据采用 AES 加密传输的场景时,需通过脚本实现自动化解密,核心痛点包括:
- 密文实时解析:Burp 拦截的加密请求体需快速解密以分析业务逻辑
- 加解密流程闭环:从请求加密发送到响应解密验证的全链路自动化
- 密钥动态管理:支持硬编码密钥、环境变量读取等多种密钥加载方式
结合真实脚本aesdecode.py
与burpy_aes256.py
,构建完整的 AES 加解密实战框架,并实现与 Burp 的深度联动。
二、AES 解密核心算法实现(基于aesdecode.py
)
1. 基础解密函数设计
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64
# 密钥定义:16字节HEX字符串转字节(AES-128)
AES_KEY = bytes.fromhex('E2842C540F0810C3F11F42427F48A3DE')
def aes_ecb_decrypt(ciphertext: str, key: bytes) -> str:
""" ECB模式AES解密(含Base64解码与PKCS7去填充) :param ciphertext: Base64编码的密文字符串 :param key: 16/24/32字节的AES密钥(字节类型) :return: 解密后的明文字符串 """
# 1. Base64解码密文
cipher_bytes = base64.b64decode(ciphertext)
# 2. 创建ECB模式解密器
cipher = AES.new(key, AES.MODE_ECB)
# 3. 执行解密
decrypted_bytes = cipher.decrypt(cipher_bytes)
# 4. 去除PKCS7填充
plaintext_bytes = unpad(decrypted_bytes, AES.block_size)
# 5. 字节转UTF-8字符串
return plaintext_bytes.decode('utf-8')
# 示例解密调用
sample_cipher = "zWJLUIlnTNe4SnZqvnk0BbS1WHyi8AxZnCyFw1VuZ+vuKMHczygw6a9Owd89Dl6NNAobn/zkWw4BFDQVLX0uUg=="
print(f"原始密文: {sample_cipher}")
print(f"解密结果: {aes_ecb_decrypt(sample_cipher, AES_KEY)}")
2. 关键技术点解析
- ECB 模式特性:
- 相同明文块生成相同密文块,存在模式缺陷,实际应用需验证是否为弱加密场景
- 适合单次短数据解密,如 API 参数解密
- 填充算法:
- 使用
unpad
自动处理 PKCS7 填充,兼容标准加密接口 - 若服务端使用非标准填充(如 ISO 10126),需自定义去填充逻辑
- 使用
三、Burp 联动框架封装(基于burpy_aes256.py
)
1. 全功能加解密类设计
import json
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
class BurpAESHandler:
def __init__(self, key: str = None):
""" 初始化AES处理器 :param key: 16/24/32字节HEX格式密钥(默认使用硬编码密钥) """
self.key = bytes.fromhex(key) if key else AES_KEY
def encrypt_request(self, header: dict, body: dict) -> tuple:
""" 加密HTTP请求体(JSON转AES-E
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录