mitmproxy:中间人攻击HTTP/HTTPS代理,支持录制|重播|拦截|动态修改数据
- 发表于
- 安全工具
mitmproxy介绍
mitmproxy是一款具有交互式TLS功能的拦截HTTP/HTTPS代理工具,适用于渗透测试人员和软件开发人员。mitmproxy包含了三大组件:
- mitmproxy:mitmproxy是一个控制台工具,允许交互式检查和修改HTTP流量。它与mitmdump的不同之处在于,所有流都保存在内存中,这意味着它可以获取和操作会话。使用
?
用于查看帮助。 - mitmdump:mitmdump是mitmproxy的命令行助手。它提供类似tcpdump的功能,使您可以查看,记录和以编程方式转换HTTP流量。有关完整文档,请参阅
--help
命令输出。 - mitmweb:mitmweb是mitmproxy的基于Web的用户界面,允许交互式检查和修改HTTP流量。与mitmproxy一样,它与mitmdump的不同之处在于所有流都保存在内存中,这意味着它用于获取和操作会话。
mitmproxy截图
mitmproxy安装
mitmproxy支持不同系统高效的安装,选择你的系统
- macOS:
brew install mitmproxy
,好方便啊 - Linux:到 releases 下载
- Windows:依赖于WSL,先安装 install WSL,然后同Linux一样安装
- Docker:官方还制作了Docker mitmproxy镜像
完善的文档就像一本好的教科书,带你快速入门
mitmproxy功能
- 拦截HTTP/HTTPS请求和响应并动态修改它们
- 保存完整的HTTP会话,以便以后重播和分析
- 重播HTTP会话的客户端
- 重播以前录制的服务器的HTTP响应
- 反向代理模式,用于将流量转发到指定的服务器
- OSX和Linux上的透明代理模式
- 使用Python对HTTP流量进行脚本化更改
- 用于拦截的SSL / TLS证书是即时生成的
- 还有更多......
mitmproxy支持的代理模式
- 常规(默认)
- 透明代理
- 反向代理
- 上游代理
- SOCKS代理
如何选择代理模式?他们的工作流程是什么?看下图:
mitmproxy支持的协议
- HTTP/1.0 and HTTP/1.1
- HTTP/2
- WebSocket
- Raw TCP / TCP Proxy / Fallback
如果不设置mitmproxy协议,mitmproxy默认使用通用TCP,但在两个重要方面有所不同:
mitmproxy生态系统
Mitmproxy为许多著名的开源项目提供支持:
- pathod:mitmproxy的姐妹项目,用于处理格式错误的HTTP / 1,HTTP / 2和WebSocket请求。
- netograph:隐私分析和测试服务。
- tamper:一个基于mitmproxy的Chrome devtools扩展,可修改请求数据。
- bdfproxy:一个BackDoorFactory集成到动态修改二进制文件的shell代码。
- mastermind:来自ustwo的一个项目,提供了一种模拟API或网站的方法
总结
之前体验盒子也介绍过很多代理工具,而mitmproxy与他们明显的不同之处在于,它提供了更好的文档,更大的扩展空间。不仅是代理,还有类似Chrome扩展之类的支持,会话的重放,证书协议等等。
原文连接:mitmproxy:中间人攻击HTTP/HTTPS代理,支持录制|重播|拦截|动态修改数据
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。