爬虫小技巧利用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
设置代理地址和端口
然后在浏览器中访问地址前,先选择代理方式,再进行访问
安装证书
正常情况下,mitmproxy启动后,只能抓取到HTTP请求的信息,要抓取HTTPS请求信息需要安装证书。证书安装有两种方式
如果没有打开mitmproxy进行抓包的话,在这一步会得到如下错误
如果打开mitmproxy进行抓包的话
使用的mitmproxy启动
使用的mitmweb启动
使用的mitmdump启动
以上就是爬虫小技巧利用Mitmproxy破解app的详细内容,更多关于破解app的资料请关注我们其它相关文章!
相关推荐
-
详解安装mitmproxy以及遇到的坑和简单用法
mitmproxy 是一款工具,也可以说是 python 的一个包,在命令行操作的工具. MITM 即中间人攻击(Man-in-the-middle attack) 使用这个工具可以在命令行上进行抓包,还可以对所抓到的包进行脚本处理,非常有用. 安装 mitmproxy 安装这个我们必须先安装了 pip. pip 在安装了 python之后自带的,如果你安装了 python 就可以忽略了,如何安装这里就不说了,只说安装 mitmproxy 打开命令行,输入 pip install mitmpro
-
Python3自定义http/https请求拦截mitmproxy脚本实例
脚本内容 代码如下: from mitmproxy import http, ctx from multiprocessing import Lock class Filter: def __init__(self, filter_info): self.log_info = "" self.mutex = Lock() self.filter_info = filter_info self.response_file = None self.switch_on = False sel
-
python代理工具mitmproxy使用指南
前言 mitmproxy 是 man-in-the-middle proxy 的简称,译为中间人代理工具,可以用来拦截.修改.保存 HTTP/HTTPS 请求.以命令行终端形式呈现,操作上类似于Vim,同时提供了 mitmweb 插件,是类似于 Chrome 浏览器开发者模式的可视化工具. 它是基于Python开发的开源工具,最重要的是它提供了Python API,你完全可以通过Python代码来控制请求和响应,这是其它工具所不能做到的,这点也是我喜欢这个工具的原因之一. 安装 sudo pip
-
Python抓包程序mitmproxy安装和使用过程图解
一.介绍说明 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还有两个关联组件.一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理.另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求. mitmproxy的功能: 1.拦截HTTP和HTTPS请求和响应 2.保存HTTP会
-
python爬虫Mitmproxy安装使用学习笔记
目录 一.简介和安装 1.1.概念和作用 概念 作用 1.2.安装 1.3.工具介绍 二.设置代理 2.1.PC端设置代理 2.2.PC端安装证书 2.3.移动端设置代理 三. mitmdump 3.1.插件使用 3.2.常用事件 3.2.1.request事件 3.2.2.response事件 3.3.下载图片 一.简介和安装 1.1.概念和作用 概念 Mitmproxy是一个免费的开源交互式的HTTPS代理.MITM即中间人攻击(Man-in-the-Middle Attack). 作用 代
-
爬虫小技巧利用Mitmproxy破解app
mitmproxy就是用于MITM的proxy,MITM即中间人攻击(Man-in-the-middle attack).用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次会实时查.记录其截获的数据或篡改数据,引发服务端或客户端特定的行为. 利用Fiddler可以过滤出浏览器对某个特定URL的请求,并查看.分析其数据, 但实现不了高度定制化的需求,类似于:"截获对浏览器对该URL的请求,将返回内容置空,并将真实的返回内容存到某个数据库,出现异常时发出邮件通知&qu
-
Python爬虫小技巧之伪造随机的User-Agent
前言 不管是做开发还是做过网站的朋友们,应该对于User Agent一点都不陌生,User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等 在Python爬虫的过程中经常要模拟UserAgent, 因此自动生成UserAgent十分有用 通过UA来判断不同的设备或者浏览器是开发者最常用的方式方法,这个也是对于Python反爬的一种策略,但是有盾就有矛啊 写好爬虫的原则
-
windows上利用charles抓取微信小程序数据包,手机APP数据包(HTTP与HTTPS数据包)
1.下载charles包.安装 Charles Proxy抓包工具 v4.1 破解文件 win64 附破解方法 2.关闭电脑防火墙 打开控制面板,选择Windows防火墙,关了(不关很可能没法抓包,在这栽过坑) 2.连接手机 2.1 用数据线把手机连上电脑 2.2 查电脑ip,命令行输入 ipconfig 2.3 修改手机网络代理 手机网络改为代理,ip为电脑ip,端口8888(charles默认端口,若被其他程序占用可修改,原则是保持电脑和手机一致) 3.安装SSL证书 (大多数app或小程序
-
Android实用小技巧之利用Lifecycle写出更好维护的代码
目录 前言 场景 优化版本1 优化版本2 单元测试 总结 前言 你是否在onStart()启动过某项任务却忘记在onStop()中取消呢?人不是机器,难免会有错漏.就算老手不会犯错,也不能保证新人不会.学会下面的小技巧,让这种粗心成为不可能. 关于Lifecycle的源码,已经有很多大佬分析过.这篇文章的主旨是让读者对Lifecycle的使用场景有更多的体会,这样也能更好地理解源码.先来看一个场景,然后一步一步优化. 场景 假设我们有一个界面,模拟一个厨房.里面有灶台和餐桌.要求每秒钟翻炒一下,
-
5个保护MySQL数据仓库的小技巧
汇总各种来源的数据,可以创建一个中央仓库.通过分析和汇总业务数据报告,数据仓库能够帮助企业做出明智.战略性的决策分析.虽然数据仓库提供了许多便利,但是把这些敏感数据收集到一个单独系统,会给数据仓库带来安全问题. 如果选择使用数据仓库,企业需要考虑如何更好地保护内部信息系统.任何数仓安全方面的妥协都会给入侵者或网络罪犯以可乘之机,造成销售.营销.客户信息等业务数据的毁坏泄露.今年爆发的WannaCry勒索软件事件也表明了这一点,现代企业需要严格规避数据犯罪. 在数据仓库中,最常见的数据库管理系统应
-
提高iOS开发的小技巧和思路小结 (二)
前言 之前跟大家分享过一篇<提高iOS开发的小技巧和思路>,但是里面整理的不够全面,通过最近这段时间的整理学习,又整理了一些小技巧和思路分享给大家,下面话不多说了,来看看详细的介绍吧. 一.如何让你的app在后台持续运行一段时间 iOS的app在按下home键的时候,只有不到五秒钟的时间去处理保存或者是清楚资源的工作,这里提供一种办法.(这是在唐巧的书上面学习的) 产品经理的需求:如果app的本地持久化的额图片超过了100mb,需要去清除. 我之前的做法是在程序启动的时候去做这个事情,很显然效
-
Pandas数据分析的一些常用小技巧
Pandas小技巧 import pandas as pd pandas生成数据 d = {"sex": ["male", "female", "male", "female"], "color": ["red", "green", "blue", "yellow"], "age": [1
-
分享12个Vue开发中的性能优化小技巧(实用!)
目录 前言 1.长列表性能优化 1.不做响应式 2.虚拟滚动 2.v-for遍历避免同时使用v-if 3.列表使用唯一key 4.使用v-show复用DOM 5.无状态的组件用函数式组件 6.子组件分割 7.变量本地化 8.第三方插件按需引入 9.路由懒加载 10.keep-alive缓存页面 11.事件的销毁 12.图片懒加载 总结 前言 性能优化,是每一个开发者都会遇到的问题,特别是现在越来越重视体验,以及竞争越来越激烈的环境下,对于我们开发者来说,只完成迭代,把功能做好是远远不够的,最重要
-
Vue3.2.x中的小技巧及注意事项总结
目录 前言 小技巧 关于减少.value的使用 关于减少import导入语句 关于在script setup中声明组件名字 注意事项 关于响应式的问题 模板循环中加不加key的问题 总结 前言 vue3在2022年的2月7号成为了vue默认版本,并且随之而来的还有vue3的新文档, 并且从实际使用的角度来说, vue3确实比vue2使用起来更加的舒服,所以觉得经过一段时间的使用,来分享一下使用过程中的小技巧以及注意事项. 小技巧 关于减少.value的使用 使用watch来监听Ref数据的时候,
-
关于Go你不得不知道的一些实用小技巧
目录 Go 箴言 Go 之禅 代码 使用 go fmt 格式化 多个 if 语句可以折叠成 switch 用 chan struct{} 来传递信号, chan bool 表达的不够清楚 30 * time.Second 比 time.Duration(30) * time.Second 更好 用 time.Duration 代替 int64 + 变量名 按类型分组 const 声明,按逻辑和/或类型分组 var 不要在你不拥有的结构上使用 encoding/gob 不要依赖于计算顺序,特别是在
随机推荐
- ASP.NET Core配置教程之读取配置信息
- C#编写一个简单记事本功能
- 支付宝 接口开发帮助(asp,php,asp.net,jsp)
- sql注入之手工注入示例详解
- JS实现前端缓存的方法
- Java内存分布归纳整理详解
- Vert-x-通过异步的方式使用JDBC连接SQL
- 极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
- python实现批量修改文件名代码
- C#.NET中如何批量插入大量数据到数据库中
- gb2312的详细介绍
- JavaScript实现倒计时代码段Item1(非常实用)
- VBS教程:函数-IsNumeric 函数
- nginx+apache+mysql+php+memcached+squid搭建集群web环境
- 一个仿微博登陆邮箱提示框js开发案例
- JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
- Java基于socket服务实现UDP协议的方法
- PHP独立Session数据库存储操作类分享
- 对python 读取线的shp文件实例详解
- Python基本数据结构之字典类型dict用法分析