前言
mitmproxy
是一个非常强大的抓包工具,还可以篡改数据,充当中间人的角色。支持使用使用python
脚本完成一些对流量的自定义操作。- 有以下3中方式可启动
mitmproxy
:mitmproxy
是一个交互式的、支持SSL/TLS的拦截代理,具有HTTP/1、HTTP/2和WebSockets的控制台接口。mitmweb
是mitmproxy基于web的界面。mitmdump
是mitmproxy的命令行版本。
- 本文使用
mitmweb
完成篡改数据。
实战
安装对应证书
- 要先安装证书。
- 点击后,会进入http://mitm.it/,注意:这个页面必须使用mitmproxy代理才能进入正确的页面。正确的页面如下图所示。
拦截
-
我们先来熟悉下操作界面。
-
主要使用的功能就是拦截的输入框,比如我要拦截如下图的界面。
-
我想让它返回
hello world
。
这个网页事先要使用mitmproxy的代理。我用了
SwitchyOmega
- 我先在拦截的输入框输入框
baidu
。 - 当我发起请求时,
mitmproxy
已经拦截住了,如下图所示。
- 我并不修改请求,直接点击
Resume
,现在就有返回值了,如下图所示。
修改返回数据
- 点击Edit修改好返回数据,Done完成,如下图所示。
- 继续点击
Resume
,然后查看网页。修改成功,如下图所示。
小结
mitmproxy
可以在很多个平台上使用,非常强大,我这里只用了它一小点点功能特性。具体的可看https://docs.mitmproxy.org/stable/overview-features/。- 之前写过一篇绕过反调试fuck-debugger,现在想想用
mitmproxy
同样能达到效果。
mitmproxy
可以拿到到https
的数据,并不意味着它把https破了,因为前提是被监听机器上要事先安装好证书。