AmitHaina/webcrypto-interceptor

GitHub: AmitHaina/webcrypto-interceptor

基于 CDP 和 V8 调试器断点的隐秘 WebCrypto 拦截工具,用于在浏览器加密前捕获明文 payload 并追踪调用链。

Stars: 0 | Forks: 0

# WebCrypto 拦截器 一款隐秘的、基于 Chrome DevTools Protocol (CDP) 的插桩工具包,旨在捕获 Web Crypto API (`crypto.subtle`) 在加密前的明文 payload。 与传统的包装或替换原生 JS 函数的 hook 不同(现代反机器人和安全脚本可以轻松检测到这些 hook),该工具利用运行时级别的 V8 debugger 断点。这确保了对目标页面代码的完全不可见性。 ## 功能 - **隐秘拦截**:通过真实的 V8 debugger 暂停状态 hook `crypto.subtle` 方法,保持原生对象完全不被触碰。 - **跨进程 Iframe (OOPIF) 支持**:自动为目标 iframe(如支付处理器、网关表单或验证 worker)创建专门的 CDP 会话,以动态 hook 其隔离的 crypto 上下文。 - **完整调用栈检查**:在触发 crypto 操作时解析并追踪最多 5 层深度的执行堆栈,直接为你定位经过混淆的调用脚本。 - **Payload 解码**:直接从暂停的 V8 局部变量中解码 ArrayBuffer、TypedArray、复杂对象和字符串化的 JSON payload。 - **动态响应捕获**:Hook 网络通道,以检查并转储相应的服务器响应。 - **自动会话记录**:通过将清晰的事件流直接写入本地 JSONL 文件来进行离线重放和 diffing,从而跟踪你的调查过程。 ## 入门指南 ### 前置条件 - Node.js(v16 或更高版本) - 本地安装 Google Chrome ### 安装说明 1. 克隆或下载此项目。 2. 初始化依赖项: npm install ## 用法 通过在目标 URL 旁运行 orchestrator 来启动捕获服务器: ``` # 常规 headless 捕获 node capture_server.js "https://example.com" # GUI 模式(推荐用于与表单/支付交互) node capture_server.js "https://example.com" --gui ``` 启动后,每当触发 `crypto.subtle` 操作时,该工具都会自动输出交互式控制台信号。所有结果都将实时流式传输并本地写入 `session_capture_.jsonl`。 ## 欢迎贡献者!如果你想提出 issue、提出改进建议或提交 pull request: ## 社区 加入讨论、提出问题或在 Discord 上分享你的逆向工程研究: [![Discord](https://img.shields.io/discord/1110000000000000000?color=5865F2&logo=discord&logoColor=white)](https://discord.gg/QphWRKHvH2) 加入我们的频道:[Discord 服务器](https://discord.gg/QphWRKHvH2)
标签:MITM代理, URL抓取, Web安全, 云资产清单, 数据抓取, 数据泄露, 时序数据库, 流量拦截, 浏览器自动化, 自定义脚本, 蓝队分析, 逆向工程