爬虫小技巧利用Mitmproxy破解app

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

利用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

python3
pip3 install mitmproxy
或者
python2
pip install mitmproxy

(3)按键精灵

(4)强制抓包工具postern

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

启动mitmproxy

要启动mitmproxy用mitmproxy、mitmdump、mitmweb这三个命令中的任意一个即可,这三个命令功能一致,且都可以加载自定义脚本,唯一的区别是交互界面的不同。
mitmproxy命令启动后,会提供一个命令行界面,用户可以实时看到发生的请求,并通过命令过滤请求,查看请求数据

使用mitmproxy + python做拦截代理

https://www.jb51.net/article/164560.htm

https://mitmproxy.org/

图片

图片

图片

图片

图片

图片

图片

设置代理地址和端口

图片

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

图片

安装证书

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

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

图片

如果打开mitmproxy进行抓包的话

图片

使用的mitmproxy启动

使用的mitmweb启动

使用的mitmdump启动

图片

以上就是爬虫小技巧利用Mitmproxy破解app的详细内容,更多关于破解app的资料请关注云海天教程其它相关文章!