【Frida】【Android】 工具篇:ProxyPin抓包详解

news2024/12/29 10:40:29

🛫 系列文章导航

  • 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950
  • 【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446
  • 【Frida】【Android】03_RPC https://blog.csdn.net/kinghzking/article/details/137050967
  • 【Frida】【Android】04_Objection安装和使用 https://blog.csdn.net/kinghzking/article/details/137071768
  • 【Frida】【Android】05_Objection实战 https://blog.csdn.net/kinghzking/article/details/137071826
  • 【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859
  • 【Frida】【Android】 07_爬虫之网络通信库HttpURLConnection https://blog.csdn.net/kinghzking/article/details/137211973
  • 【Frida】【Android】 08_爬虫之网络通信库okhttp3 https://blog.csdn.net/kinghzking/article/details/137227041
  • 【Frida】【Android】 09_爬虫之Socket https://blog.csdn.net/kinghzking/article/details/137284648
  • 【Frida】【Android】 工具篇:ZenTracer https://blog.csdn.net/kinghzking/article/details/137284648

▒ 目录 ▒

    • 🛫 系列文章导航
    • 🛫 导读
      • 开发环境
    • 1️⃣ ProxyPin介绍
      • 主要特性
      • 工作原理
      • “用户证书”vs“系统证书”
    • 2️⃣ 安裝和使用
      • 安裝
      • 安裝证书
      • 启动HTTPS代理
      • 启动抓包
      • 验证
    • 3️⃣ 竞品介绍
      • reqable
      • HttpCanary(小黄鸟)【不推荐】
    • 🛬 文章小结
    • 📖 参考资料

🛫 导读

开发环境

版本号描述
文章日期2024-03-24
操作系统Win11 - 22H222621.2715
node -vv20.10.0
npm -v10.2.3
夜神模拟器7.0.5.8
Android9
python3.9.9
frida16.2.1
frida-tools12.3.0
objection1.11.0
ProxyPin1.0.9

1️⃣ ProxyPin介绍

ProxyPin是一种基于MITM(中间人攻击)的抓包工具,主要用于移动应用程序的安全测试和调试。下面是关于ProxyPin的详解。

主要特性

  • HTTP/HTTPS抓包:ProxyPin可以拦截并解析HTTP和HTTPS协议下的数据包,包括请求和响应内容。
  • 数据篡改:用户可以在抓包过程中修改请求和响应数据,从而进行相关的安全测试。
  • WebSocket支持:除了HTTP/HTTPS,ProxyPin还支持WebSocket协议的抓包和分析。
  • 脚本扩展:用户可以编写脚本来扩展ProxyPin的功能,实现自定义的数据处理和分析。

工作原理

  • 中间人攻击(MITM):ProxyPin通过将自己伪装成目标服务器与客户端通信,从而使得所有的数据流经ProxyPin,实现抓包和修改数据的目的。
  • SSL/TLS解密:ProxyPin可以解密通过SSL/TLS加密的数据流量,这使得用户可以查看和分析应用程序中的加密通信内容。

ps: 具体原理可以参考系列文章之《【Frida】【Android】 06_夜神模拟器中间人抓包 https://blog.csdn.net/kinghzking/article/details/137162859》

“用户证书”vs“系统证书”

Android证书分为“用户证书”和“系统证书”两种,在设置->安全->"查看安全证书"列表中,可以看到“系统”和“用户”两个Tab。用户通过浏览器下载安装或者通过WLAN高级设置安装的证书均为用户证书。

安装为系统证书有什么好处呢?

  • 安装用户证书必须要设置开机密码,而且设置后就不能取消,除非先删掉所有的用户证书。如果安装为系统证书就不需要设置开机密码,自动化操作时更方便。

  • Android 7以上版本APP默认不信任用户证书,只信任系统证书,安装为用户证书,对APP的HTTPS抓包会失败。安装为全局证书才能被所有APP信任,方可进行HTTPS抓包。

2️⃣ 安裝和使用

安裝

  • 下载
    从github官网(https://github.com/wanghongenpin/network_proxy_flutter/releases)下载,目前最新是1.0.9,我们使用的是模拟器,所以需要下载ProxyPin-Android.apk
    在这里插入图片描述
  • 安装
    直接拖入模拟器就可以了,打开后如下所示:
    在这里插入图片描述

安裝证书

  • 打开HTTPS代理页面
    如下图,点击右上角三个点,然后点击HTTPS代理
    在这里插入图片描述
    最后将显示如下界面,包含“用户证书”和“系统证书”
    在这里插入图片描述
  • 下载系统证书
    点击上图中的下载系统根证书按钮,在下载页面,将其保存下来即可。
    在这里插入图片描述
  • 安装系统根证书
  1. 打开Amaze
    在这里插入图片描述
  2. 授权超级用户权限
    在这里插入图片描述
  3. 复制系统根证书
    切换到Download目录,选择系统根证书文件,点击复制菜单
    在这里插入图片描述
  4. 拷贝系统根证书
    切换到/system/etc/security/cacerts目录(点击左侧根目录,然后依次选择etc、security、cacerts目录),最后点击如下图的粘贴按钮即可。
    在这里插入图片描述
  5. 授权证书文件
    adb shell连接安卓,然后执行下面命令:
mount -o remount,rw /system
chmod 777 /etc/security/cacerts/*
mount -o remount,ro /system
  1. 验证系统证书
    在设置中,搜索信任的凭据,在系统tab中,可以找到ProxyPin证书,表示安装成功。
    在这里插入图片描述

启动HTTPS代理

回到ProxyPin软件,打开HTTPS代理页面,如下所示开启HTTPS代理
在这里插入图片描述

启动抓包

回到ProxyPin软件主页面,点击右下角“播放”按钮
在这里插入图片描述
在弹出窗口中点击确定
在这里插入图片描述

验证

此时,我们以浏览器,百度页面为例,可以看到已经可以抓到封包了。
在这里插入图片描述

3️⃣ 竞品介绍

Android抓包有很多竞品软件,这里介绍一下大名鼎鼎的“小黄鸟”及其新品reqable。

reqable

reqable是小黄鸟的进阶版,依然不开源,不过有了官网 https://reqable.com/,更靠谱一些了。
支持各个平台,个人感觉该软件比ProxyPin更好用。
下面是部分软件截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HttpCanary(小黄鸟)【不推荐】

抓包的都知道小黄鸟,但是小黄鸟的解锁版版本很多,由于其不开源,网上很多版本是魔改的,有兼容性问题。不过小编多次测试,其依然可用的。

有兴趣的可以直接参考文章:《[Android 分享] 小黄鸟HttpCanary抓包 5个版本 都是解锁版 + 证书安装教程。https://www.52pojie.cn/thread-1592529-1-1.html》,这里不做过多介绍了。

🛬 文章小结

ProxyPin还有很多功能,这里不一一演示了,以后有机会在实战中进行讲解。

  • ProxyPin可以过滤域名和APP,方便抓包使用
  • ProxyPin可以将结果打包成har文件,在chrome中导入,方便分析结果
  • ProxyPin可以重写请求,直接在Android上进行封包修改
  • ProxyPin可以使用脚本,灵活控制封包。

ps: 不要同时开启多个抓包软件,避免冲突

📖 参考资料

  • ProxyPin官网:https://github.com/wanghongenpin/network_proxy_flutter
  • reqable(小黃鸟新名字)官网 https://reqable.com/
  • 添加Fiddler/Mitmproxy证书为安卓系统证书 https://blog.csdn.net/epson615/article/details/120586471
  • objection地址:https://github.com/sensepost/objection

ps: 文章中内容仅用于技术交流,请勿用于违规违法行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1574097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JVM】JVM简介

文章目录 🌴简介🌲JVM发展史🌸Sun Classic VM🌸Exact VM🌸HotSpot VM🌸JRockit🌸J9 JVMTaobao JVM(国产研发) 🌳JVM 运行流程⭕总结 🌴简介 JVM …

【项目启动执行指定代码】⭐️通过案例测试下常用的实现方式

目录 前言 1、监听 ApplicationContext事件 2、实现CommandLineRunner接口 3、实现ApplicationRunner接口 4、使用PostConstruct注解 章末 前言 为了保证程序在启动后的稳定性,需要执行初始化操作,像加载配置,建立数据库连接可以在项目启…

(2024)Ubuntu源码安装多个版本的opencv并切换使用

本人工作会用到x86_64的opencv和aarch64的opencv,所以写下来备忘自用 一、源码编译安装 依赖库安装: sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev o…

简单介绍css及其代码样式

css简介 css用于前端开发&#xff0c;负责对界面进行美化。让页面更美观。 他可以改变html代码的样式&#xff0c;让html代码的网页不那么死板。 css代码格式 选择器 {属性:值; 属性:值&#xff1b;} css的模版架构 css代码放到<style>标签中。 而<style>通常是…

在单交换机局域网中,不同网段的主机通信探秘

在理解局域网中不同网段主机之间的通信之前&#xff0c;我们首先要明白网络的基本组成和工作原理。局域网&#xff08;LAN&#xff09;是一个封闭的网络环境&#xff0c;通常由交换机&#xff08;Switch&#xff09;作为核心设备连接网络中的各个主机。当我们谈论不同网段的主机…

【C#】yield使用

&#x1f4bb;代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;namespace ConsoleApp15 {internal class Program{static void Main(string[] args){IEnumerable<int&…

如何回答孩子“为什么要过清明?”

清明&#xff0c;是中国人寻根问祖的时节。 为什么要过清明节&#xff1f; 不知道你是否认真想过&#xff0c;我们为什么要过清明节呢&#xff1f; 如果当孩子问起时&#xff0c;你又该如何作答呢&#xff1f; 也许&#xff0c;以下的总结可供你参考。 清明&#xff0c;让…

[蓝桥杯 2019 国 C] 数正方形

[蓝桥杯 2019 国 C] 数正方形 题目描述 在一个 N N N \times N NN 的点阵上&#xff0c;取其中 4 4 4 个点恰好组成一个正方形的 4 4 4 个顶点&#xff0c;一共有多少种不同的取法&#xff1f; 由于结果可能非常大&#xff0c;你只需要输出模 1 0 9 7 10^9 7 1097 的…

DasViewer中,像下图山坡是选择拟合平面还是自定义平面?还是其他的基准面?

问题如图 如若山坡是计算斜面的土方&#xff0c;可以选择用拟合平面模式&#xff0c;该模式适用斜坡。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方…

广州到菲律宾海运双清到门,菲律宾双清到门一站式物流

洗衣液出口菲律宾全程海运双清包税到门物流操作流程 为了便于中国的洗衣液产品出口至菲律宾&#xff0c;并实现海运双清包税到门的服务&#xff0c;我们提供一站式的中菲物流解决方案。我们的目标是在保证货物安全的前提下&#xff0c;为您完成从中国起运到菲律宾指定地址的所有…

Java基于微信小程序高校体育场管理小程序

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表

RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表 文章目录 RabbitMQ3.13.0起支持MQTT5.0协议及MQTT5.0特性功能列表1. MQTT概览2. MQTT 5.0 特性1. 特性概要2. Docker中安装RabbitMQ及启用MQTT5.0协议 3. MQTT 5.0 功能列表1. 消息过期1. 描述2. 举例3. 实现 2. 订阅标识…

含风电-光伏-光热电站电力系统N-k安全优化调度模型

目录 1 主要内容 2 部分程序 3 部分结果 4 下载链接 1 主要内容 该程序参考《光热电站促进风电消纳的电力系统优化调度》光热电站模型&#xff0c;主要做的是考虑N-k安全约束的含义风电-光伏-光热电站的电力系统优化调度模型&#xff0c;从而体现光热电站在调度灵活性以及经…

Linux 常用指令及其理论知识

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;http://t.csdnimg.cn/Tvyou 欢迎各位指教&#xff01;&#xff01;&#xff01; 目录 一、理论知识 二、基础指令 1、ls指令&#xff08;列出该目录下的所有子目录和文件&#xff09; 语法&#xff1a; …

扫描电镜如何能拍到样品的好的形貌?

扫描电镜是表征材料微观形貌的有力工具&#xff0c;它能够呈现样品的精细结构。然而&#xff0c;要拍摄出高质量的样品形貌并非易事&#xff0c;除了要熟悉扫描电镜的各种功能&#xff0c;还需要掌握一些技巧。本文将介绍如何利用景深、倾斜校正、动态聚焦等功能以及合轴和消像…

ZS65-40-125/1.5卧式单级不锈钢离心泵

首先&#xff0c;让我们解析这款离心泵的基本参数。ZS65-40-125/1.5标识着该泵型的特定性能特征。ZS代表这是一种卧式单级离心泵&#xff1b;65表示泵的进口直径为65毫米&#xff0c;确保了足够的介质流入量&#xff1b;40是指出水口直径为40毫米&#xff0c;设计以适应特定的系…

吴恩达2022机器学习专项课程(一) 第二周课程实验:多元线性回归(Lab_02)

1.训练集 使用Numpy数组存储数据集。 2.打印数组 打印两个数组的形状和数据。 3.初始化w&#xff0c;b 为了演示&#xff0c;w&#xff0c;b预设出接近最优解的值。w是一个一维数组&#xff0c;w个数对应特征个数。 4.非向量化计算多元线性回归函数 使用for循环&…

盲盒小程序开发:年轻人成为盲盒主力军

当下&#xff0c;在各种生活压力下&#xff0c;大众的消费逐渐倾向于情绪价值较高的娱乐消费上&#xff0c;不仅可以解压&#xff0c;还可以带来更多的惊喜感。 盲盒的主要受众群体是年轻人&#xff0c;购买能力非常高&#xff0c;盲盒的营收也在成倍的增加&#xff0c;发展前…

MES实施之工控机和电脑的选择

在MES项目实施过程中,经常会碰到工控机和电脑的选型问题,那么他们的区别是什么? 1、控机和普通个人电脑(PC)相比,具有以下几个区别: 1.运行环境不同:工控机通常需要在各种恶劣的工业环境中运行,如高温、高湿、强电磁干扰等,因此需要具有防尘、防水、抗干扰等特点。而…

c++线程基础知识

1. joinable()函数 int LocalOptimizationProcess::Stop() {stop_thread_ true;cond_.notify_all();LOGD("LocalOptimizationProcess Thread Join()");if (thread_->joinable()){thread_->join();}LOGD("LocalOptimizationProcess Thread Stoped")…