惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
AI
AI
月光博客
月光博客
爱范儿
爱范儿
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
腾讯CDC
W
WeLiveSecurity
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Help Net Security
Help Net Security
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
Cyberwarzone
Cyberwarzone
K
Kaspersky official blog
Security Latest
Security Latest
博客园 - 叶小钗
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
A
Arctic Wolf
C
Cisco Blogs
H
Heimdal Security Blog
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
Google DeepMind News
Google DeepMind News
小众软件
小众软件
T
Tenable Blog
Attack and Defense Labs
Attack and Defense Labs
N
News and Events Feed by Topic
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
Simon Willison's Weblog
Simon Willison's Weblog
Vercel News
Vercel News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Vulnerabilities – Threatpost
L
LangChain Blog
Y
Y Combinator Blog
V
V2EX
Hacker News - Newest:
Hacker News - Newest: "LLM"
Latest news
Latest news
D
Docker
AWS News Blog
AWS News Blog
Google Online Security Blog
Google Online Security Blog
H
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Troy Hunt's Blog
TaoSecurity Blog
TaoSecurity Blog
Cloudbric
Cloudbric
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
AICryptoProxy:AI 赋能逆向Web 加密流量
hzhsec · 2026-05-06 · via 博客园_首页

AICryptoProxy:AI 赋能 Web 加密流量渗透测试实战

当 Burp Suite 里全是 base64 密文,你还在手动抠 JS、断点调试、Python 补环境吗?

让 AI 替你完成这一切 —— 从逆向分析到代理部署,5 分钟上线。


一、前言

你拿到一个渗透测试目标,打开 Burp Suite 配置好代理,满怀期待地点开第一个请求

POST /api/encrypt HTTP/1.1
Content-Type: application/x-www-form-urlencoded

encryptedData=U2FsdGVkX1+7PfewV3eJIzf0M2jL4...

所有参数都是密文。

你想修改 userId 越权测试?想重放请求测试重放漏洞?想在 Repeater 里观察响应变化?全都做不到,因为你看到的是一堆乱码。

传统解决路径只有一条:JS 逆向 —— 扣代码 —— 补环境 —— 写代理脚本。这一套下来,3 到 10 个小时就没了,而且每个加密目标都要重复一遍。
但现在,情况变了。


二、AICryptoProxy

一句话:AI 自动分析网站加密逻辑,生成加解密代理,让 Burp Suite 里只看到明文。

项目地址:https://github.com/hzhsec/AICryptoProxy

核心思路极其简单:

传统模式: 人看混淆代码 → 人断点调试 → 人写 Python 脚本
AI 模式:  AI 操作浏览器 → AI 逆向分析 → AI 生成脚本 → 你只需启动

它基于 Claude Code + MCP (js-reverse) 的能力,让 AI 可以直接操控浏览器(打开页面、搜索脚本、下断点、读变量),像资深逆向工程师一样完成整套 JS 逆向工作流。

两种工作模式

模式 名称 一句话概括 适用场景
A Direct Crypto AI 逆向算法提取 Key,Python 本地计算 标准算法、Key 固定
B JSRPC Bridge 浏览器原生执行加解密,WebSocket 桥接给代理 算法复杂、Key 动态、混淆严重

本文以 模式 A 为例,用一个真实的加密靶场带你完整走一遍流程。


三、测试环境

3.1 靶场介绍

靶场:
https://github.com/SwagXz/encrypt-labs

这里使用 encrypt 靶场的 AES 加密接口:

  • URL: http://10.140.136.108:88/encrypt/aes.php
  • 请求格式: POST + application/x-www-form-urlencoded
  • 加密字段: encryptedData
  • 算法: AES-128-CBC + PKCS7 填充
  • Key/IV: 固定 16 字节(base64 编码后传输)
    image.png

正常请求:

POST /encrypt/aes.php
Content-Type: application/x-www-form-urlencoded

encryptedData=U2FsdGVkX18...

解密后明文(JSON):

{"username":"admin","password":"433214"}

3.2 本地环境

  • 操作系统:Windows 11
  • Python 3.12+
  • Burp Suite Professional(监听 8080 端口)
  • mitmproxy 10+
  • Claude Code(DeepSeek附身)(已配置 js-reverse MCP 服务)

感谢DeepSeek的大力支持,大善人!!!


四、Claude Code基本流程

在项目根目录启动 Claude Code:

cd AICryptoProxy
claude
如果不想一直回车可以这样启动:claude --dangerously-skip-permissions

image.png

首先需要加载skill进你的claude,直接和claude说就可以了:将本地skills目录的skill加载到你的skill中

之后就是调用skill技能:

  • mitm_proxy是使用传统逆向参数的手法,写逆向脚本,进行加解密

  • jsrpc-mitm-auto 是使用jsrpc远程调试技术,直接在浏览器进行调用浏览器自带的加解密函数,进行加解密

Claude Code 启动后,调用指定skill,它会先自动通过 MCP 的 js-reverse 服务连接 Chrome 浏览器。

你可以看到类似这样的日志输出:

[js-reverse] 正在连接 Chrome DevTools...
[js-reverse] 连接成功,调试端口: 9222

五、Step 2:实战:让 AI 自动分析靶场加密逻辑

在 Claude Code 中输入指令。模式 A 对应的 Skill 叫 mitm_proxy

用 mitm_proxy 技能帮我分析 http://10.140.136.108:88 的加密逻辑,生成加解密代理

接下来就是见证奇迹的时刻 —— AI 会自动执行以下流程:

Stage 1:观察(Observe)

AI 通过 MCP 连接浏览器,打开目标网页,收集所有 JavaScript 脚本:

[AI] 正在连接浏览器...
[AI] 已导航到 http://10.140.136.108:88
[AI] 正在搜索加密关键字...
[AI] 在以下文件中发现可疑加密代码:
  - /encrypt/aes.php (匹配: encrypt, AES)
  - 页面内联脚本 (匹配: CryptoJS)
[AI] 检测到算法: AES-CBC-Pkcs7

image.png

image.png
对了要手动点击确认,失败登录时,不然会一直卡着

分析完成:
image.png

选择工作模式:

双向代理(浏览器--->mitmproxy解密---->burpsuite---->mitmproxy加密)

AI 在这一步自动执行了:

  • new_page("http://10.140.136.108:88") → 打开靶场
  • search_in_sources("encrypt") → 全局搜索加密关键字
  • list_scripts → 列出页面加载的所有 JS
  • detect_crypto(code) → 调用代码分析识别算法类型

Stage 2:捕获(Capture)

AI 自动定位到加密函数,通过 hook 追踪调用并提取 Key:

[AI] 正在追踪加密函数调用...
[AI] 发现加密函数: CryptoJS.AES.encrypt
[AI] 正在提取加密参数...
[AI] 已提取:
  - 算法: AES-CBC-Pkcs7
  - Key:  "1234567890123456"
  - IV:   "1234567890123456"
  - 输出编码: Base64

AI 在这一步自动执行了:

  • hook_function("CryptoJS.AES.encrypt") → 追踪加密调用
  • get_hook_data(hookId) → 捕获函数的参数和返回值
  • evaluate_script("key") → 在浏览器中提取 Key 的变量值
  • network_request(action="list") → 查看真实发出的网络请求格式

Stage 3:文件脚本生成

AI 分析完加密逻辑后,自动在 10.140.136.108_88 目录下生成两个完整的 mitmproxy 代理脚本:

  • 下游解密代理 downstream_decrypt_proxy.py(浏览器 -> Burp 方向解密密文)

  • 上游加密代理 upstream_encrypt_proxy.py(Burp -> 服务器方向加密明文)

  • 加密分析报告ANALYSIS_REPORT.md

image.png

image.png

Stage 4:列出启动方法

AI 给出完整的启动命令:

[AI] 所有脚本已生成至 proxy_scripts/ 目录
[AI] 启动顺序:
  1. Burp Suite → 监听 127.0.0.1:8080
  2. 启动下游解密代理:
     mitmdump -s proxy_scripts/downstream_decrypt_proxy.py ^
              --mode upstream:http://127.0.0.1:8080 -p 8082
  3. 启动上游加密代理:
     mitmdump -s proxy_scripts/upstream_encrypt_proxy.py -p 8083
  4. 浏览器代理 → 127.0.0.1:8082
  5. Burp 上游代理 → 127.0.0.1:8083

image.png
image.png


六、配置并启动代理链路

根据 AI 给出的启动命令,我们依次启动各个组件。

6.1 启动 Burp Suite

Burp Suite 监听在 127.0.0.1:8080,作为中间节点接收下游代理转发的明文请求。

image.png

6.2 启动下游解密代理

 mitmdump -s "10.140.136.108_88/downstream_decrypt_proxy.py" --mode upstream:http://127.0.0.1:8080 -p 8082

image.png

注意--mode upstream:http://127.0.0.1:8080 这个参数不能少,它告诉下游代理解密后把流量转发到 Burp 的 8080 端口。

6.3 启动上游加密代理

mitmdump -s 10.140.136.108_88/upstream_encrypt_proxy.py -p 8083

image.png

6.4 配置浏览器代理

使用浏览器代理插件(如 xxxxxxx-xxxxx 或 Proxy SwitchySharp),将流量指向下游代理:

  • 代理地址: 127.0.0.1
  • 端口: 8082

6.5 配置 Burp 上游代理

在 Burp Suite 中设置上游代理(Upstream Proxy):

Burp → Settings → Network → Connections → Upstream Proxy Servers
  Destination Host: *
  Proxy Host: 127.0.0.1
  Proxy Port: 8083

image.png


七、验证

7.1 在靶场页面提交数据

回到浏览器,在靶场表单中输入 username 和 password,点击提交。

图片: 靶场页面输入数据的截图

7.2 查看 Burp Proxy

回到 Burp Suite,在 Proxy -> HTTP History 中找到刚才的请求:

POST /encrypt/aes.php HTTP/1.1
Content-Type: application/json
Host: 10.140.136.108:88

{"username":"admin","password":"123456"}

Burpsuite:

image.png

没有乱码,没有 base64,只有清晰可见的明文 JSON!

7.3 查看终端日志

在下游代理的终端窗口中,你可以看到解密日志:

[下游解密] http://10.140.136.108:88/encrypt/aes.php
    [请求解密] username: admin
    [请求解密] password: 123456

在上游代理的终端中,你会看到加密日志:

[上游加密] http://10.140.136.108:88/encrypt/aes.php
    [加密] {"username":"admin","password":"123456"} -> encryptedData=U2FsdGVkX1...

image.png

7.4 在 Repeater 中修改重放

现在你可以像对待普通接口一样,在 Repeater 中修改 JSON 参数并发送:

测试爆破模块,进行爆破:
image.png
Burp 发送的是明文 JSON,上游代理会自动加密后发给服务器。完全感受不到加密的存在。


八、整个链路的完整流程

浏览器 (用户输入表单)
    │ POST /encrypt/aes.php
    │ encryptedData=U2FsdGVkX1...  (浏览器原生加密)
    ▼
┌──────────────────────────────────────────────────┐
│ 下游解密代理 (mitmdump :8082)                      │
│  1. 收到密文请求                                   │
│  2. AES-CBC 解密 encryptedData                     │
│  3. 替换请求体为 JSON 明文                          │
│  4. 转发给 Burp                                   │
│  --mode upstream:http://127.0.0.1:8080            │
└─────────────────┬────────────────────────────────┘
                  │ {"username":"admin","password":"123456"}
                  ▼
┌──────────────────────────────────────────────────┐
│  Burp Suite (:8080)  ← 在这里操作明文!             │
│  - 修改参数测试越权                                 │
│  - Repeater 重放测试                                │
│  - Scanner 扫描明文接口                             │
└─────────────────┬────────────────────────────────┘
                  │ {"username":"admin","password":"123456"}
                  ▼
┌──────────────────────────────────────────────────┐
│ 上游加密代理 (mitmdump :8083)                      │
│  1. 收到 Burp 的明文 JSON                          │
│  2. AES-CBC 加密为 base64                          │
│  3. 包装为 form-urlencoded 格式                     │
│  4. 转发给目标服务器                               │
└─────────────────┬────────────────────────────────┘
                  │ encryptedData=U2FsdGVkX1...
                  ▼
           目标服务器 (接收到的还是密文)

关键要点

  • Burp 只看到明文 —— 可以自由修改、重放、扫描
  • 浏览器与服务器间始终是密文 —— 不会触发前端校验
  • 下游代理必须用 --mode upstream —— 否则流量不会经过 Burp,你就会看到密文

九、常见问题

Q1:Burp 里看到的还是密文?

原因:下游代理没有正确转发流量给 Burp。

检查:启动下游代理时是否加了 --mode upstream:http://127.0.0.1:8080 参数?

正确: mitmdump -s downstream_decrypt_proxy.py --mode upstream:http://127.0.0.1:8080 -p 8082
错误: mitmdump -s downstream_decrypt_proxy.py -p 8082

Q2:上游代理报解密失败?

检查点

  1. 浏览器是否已经信任了 mitmproxy 的 CA 证书?
  2. 靶场的 Key/IV 是否和脚本中一致?
  3. 浏览器代理是否配置为 8082 端口?

Q3:AI 提取的 Key 不对怎么办?

在指令中提供更多上下文,例如:

"加密函数在页面的内联脚本中,Key 是固定字符串 '1234567890123456'"

十、总结

10.1 我们做到了什么?

在不到 5 分钟 的时间里,我们完成了:

  1. AI 自动逆向靶场的 AES-CBC 加密逻辑
  2. AI 自动提取 Key 和 IV
  3. AI 自动生成两个完整的 mitmproxy 代理脚本
  4. 配置浏览器和 Burp 的代理链路
  5. 在 Burp Suite 中直接操作明文请求

10.2 核心优势

维度 传统手动逆向 AICryptoProxy
平均耗时 3 - 10 小时 5 - 15 分钟
经验要求 精通 JS 混淆和逆向 零门槛
动态 Key 需要额外分析 模式 B 自动适配
重复劳动 每个目标重来一遍 AI 自动完成

10.3 什么时候用模式 B?

如果你的目标满足以下任一条件,建议使用模式 B(JSRPC Bridge):

  • 加密 Key 是动态生成的,每次请求都不一样
  • 算法是自定义的,无法用标准库解密
  • 代码混淆严重,AI 也难提取关键参数
  • 你只是想快速开始测试,不想花时间等 AI 分析

模式 B 的思路更"暴力":完全不逆向算法,直接把加解密逻辑留在浏览器里执行,通过 WebSocket 桥接给 mitmproxy 调用。

10.4 最后的建议

AI 工具再强大,也只是辅助。理解原理、能排查问题,才是你自己的能力。建议你在 AI 生成的脚本基础上,试着读懂 AES-CBC 加解密的代码逻辑,这样遇到异常时才能快速定位问题。

毕竟,AI 替你干活,但你不能变成只会发指令的人。


参考资源

参考文章

[1] 前端自动化加解密: mitmproxy+burpsuit联动 https://mp.weixin.qq.com/s/3xXpkObDQ3x7UB_yGCk6cw

[2] Web Crypto Proxy Skill 全自动网站加密逻辑分析与双向透明加解密代理工具 https://mp.weixin.qq.com/s/wxgVCYm8yqEuN8JXqQsBqQ

✨ 文末小福利 ✨

一直在找流量够用、月租不贵的手机卡?
这款我们读者都在用的19元/29元超值大流量卡,推荐给你:

✅ 长期套餐,资费稳定
✅ 全国通用,不限速
✅ 免费申请,包邮到家

👇 点击下方卡片扫码,立即领卡 👇
微信图片_20260425192237_338_8.jpg
或者复制链接

https://haokawx.lot-ml.com/ProductEn/Index/93fd8b5503249bce