ITPub博客

首页 > 数据库 > 数据库开发技术 > mitmproxy从入门到放弃

mitmproxy从入门到放弃

原创 数据库开发技术 作者:逍遥子 时间:2023-02-17 08:00:00 0 删除 编辑

mitmproxy 和我们常用的burp一样,是一款抓包工具。和其他抓包工具相比,不仅可以抓包 还可以对包进行2次过滤 并且伪装请求 与python 进行交互,相比fiddler 和burp更为灵活。本文让我们一起来学习他的使用吧。

mitmproxy工作原理

特性

  • 拦截HTTP和HTTPS请求和响应并即时修改它们;
  • 保存完整的HTTP对话以供以后重播和分析;
  • 重播HTTP对话的客户端;
  • 重播先前记录的服务器的HTTP响应;
  • 反向代理模式将流量转发到指定的服务器;
  • macOS和Linux上的透明代理模式;
  • 使用Python对HTTP流量进行脚本化更改;
  • 即时生成用于拦截的SSL/TLS证书

安装

在kali中已经默认安装了。其他系统我们需要安装python环境。然后再执行下面命令就行安装。

pip3 install mitmproxy

🚢查看帮助

mitmproxy -h

抓手机数据包

在终端执行命令mitmproxy会启动默认的8080端口。如果要改变端口号 使用如下命令

mitmproxy -p 8888

监听的端口号就变成了8888然后手机WiFi中设置手动代理和端口。保存后关闭WiFi并重新连接。

当手机访问网页时,我们在mitmproxy的窗口中便可以看到相关的数据了。

⚽证书配置

目前我们只能得到http的数据,对于https的数据包,我们需要在手机端设置证书。这里我们已miui14为例。首先浏览器打开mitm.it,下载安卓证书。

默认下载位置download。然后设置-安全-更多安全设置-加密与凭证-安装证书-CA证书选择刚才下载的证书安装就行了。

❄️测试

现在我们在手机浏览器中访问https的站点,便可以看到相关的数据包了。

🎲键位操作说明:

  • 上下键 选择数据包 回车进入详细数据包
  • q 退出某个数据包
  • z 清除数据包
  • 按下q 然后再使用y完成退出

数据包的过滤

当有很多数据包请求时,我们需要对数据包进行筛选。在界面中输入f,根据匹配规则进行筛选即可。如筛选所有域名blog.bbskali.cn的请求,我们需要输入规则~d blog.bbskali.cn

🐼常用过滤表达式

规则 释义 示例
~a 匹配响应资源 ~a (图片 css  js)
~d 筛选域名 ~d bbskali.cn
~c HTTP响应码 筛选出非200的请求!~c 200
~m 筛选请求方法 所有的post方法
~m post
~e 筛选指定错误 所有403错误
  ~e 403
~http 筛选http请求 ~http
~tcp 筛选所有的tcp请求 ~tcp
! 非 非200的请求
!~c 200
& 和 筛选post请求且是百度的请求 ~m post & ~d baidu.com
| 或 ~tcp
~tcp 筛选所有的tcp请求 ~tcp

断点拦截

输入字母i以此来 写断点条件 如:域名是blog.bbskal.cn 请求是post的条件。

~d blog.bbskal.cn & ~m post

然后选择红色的数据包 点击回车进入,输入e可修改。选择要修改的字段,如URLencoded form字段中的password的值。

通过选择修改的字段,选择后对应的字段会变成灰色。然后输入e进行编辑值。修改完成后,输入q返回到拦截页面,然后再输入a重新加载数据。

修改数据

利用同上的方法,我们对请求的数据断点抓包。修改response.body的值,便可以完成数据的篡改。

🍉效果如下

后记

这里我们仅对手机端的数据抓包进行了简单的说明。对于电脑端也是同样的道理,只需要下载相应的证书并安装。即可抓相关的数据包。当然这款工具仅仅抓包和拦截数据就足够用了。如果还想处理其他的事务,这时就需要我们的神器burp来解决了。

收藏本号 精彩内容不错过

更多精彩文章 欢迎关注我们

原文作者:Kali笔记;如有侵权,请联系管理员删除。

下一篇: OWASP ZAP使用指南
请登录后发表评论 登录
全部评论

注册时间:2021-01-22

  • 博文量
    760
  • 访问量
    444348