查看原文
其他

骚操作"破解"App

云天实验室 哆啦安全 2022-05-24

mitmproxy就是用于MITM的proxy,MITM即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次会实时查、记录其截获的数据或篡改数据,引发服务端或客户端特定的行为。


不同于FiddlerWireshark等抓包工具,mitmproxy不仅可以截获请求帮助开发者查看、分析,还可以通过自定义脚本进行二次开发。


利用Fiddler可以过滤出浏览器对某个特定URL的请求,并查看、分析其数据,

但实现不了高度定制化的需求,类似于:“截获对浏览器对该URL的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知”。而对于mitmproxy,这样的需求可以通过载入自定义python脚本轻松实现。


mitmproxy并不会真的对无辜的人发起中间人攻击,由于mitmproxy工作在HTTP层,而当前HTTPS的普及让客户端拥有了检测并规避中间人攻击的能力,所以要让mitmproxy 能够正常工作,必须要让客户端(APP 或浏览器)主动信任 mitmproxy SSL证书,或忽略证书异常,这也就意味着APP或浏览器是属于开发者本人的——显而易见,这不是在做黑产,而是在做开发或测试。


目前比较广泛的应用是做仿真爬虫,即利用手机模拟器、无头浏览器来爬取APP或网站的数据,mitmproxy作为代理可以拦截、存储爬虫获取到的数据,或修改数据调整爬虫的行为。


(1).安装Python2、Python3环境


(2).App爬虫神器mitmproxy

Mac/Windows环境安装mitmproxy

python3pip3 install mitmproxy
或者
python2pip install mitmproxy


(3).按键精灵


(4).强制抓包工具postern

https://github.com/postern-overwal/postern-stuff


启动mitmproxy

要启动mitmproxy用mitmproxy、mitmdump、mitmweb这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。

mitmproxy命令启动后,会提供一个命令行界面,用户可以实时看到发生的请求,并通过命令过滤请求,查看请求数据


使用mitmproxy + python做拦截代理

https://blog.wolfogre.com/posts/usage-of-mitmproxy/


https://mitmproxy.org/








设置代理地址和端口


然后在浏览器中访问地址前,先选择代理方式,再进行访问


安装证书

正常情况下,mitmproxy启动后,只能抓取到HTTP请求的信息,要抓取HTTPS请求信息需要安装证书。证书安装有两种方式


如果没有打开mitmproxy进行抓包的话,在这一步会得到如下错误


如果打开mitmproxy进行抓包的话


使用的mitmproxy启动

使用的mitmweb启动

使用的mitmdump启动


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存