【逆向】利用Objection实现移动应用抓取https流量


那女孩对我说
说我保护她的梦
说这个世界
对她这样的不多
她渐渐忘了我
但是她并不晓得
遍体鳞伤的我
一天也没再爱过
                     🎵 黄义达《那女孩对我说》


在移动应用开发和安全测试中,抓包是一项重要的技能,它可以帮助开发者和安全研究人员理解应用与服务器之间的通信过程,发现可能的安全问题。Objection是一款强大的运行时移动应用审计工具,它基于Frida(一款动态代码插桩工具),支持对iOS和Android应用进行安全评估,无需进行繁琐的越狱或root操作。本文将介绍如何使用Objection对移动应用进行抓包分析。

准备工作

在开始之前,确保你已经准备好以下条件:

安装了Python环境和pip。
安装了Node.js和npm。
安装了Frida。可以通过pip install frida-tools安装。
安装了Objection。可以通过pip install objection安装。
一个已连接的Android或iOS设备,或者配置好的模拟器。确保设备已开启开发者模式并启用了USB调试。
安装Objection
如果你还没有安装Objection,可以通过pip轻松安装:

pip install objection

启动Objection和抓包

在开始抓包之前,你需要确保目标应用已安装在你的设备或模拟器上,并且找到应用的包名。以下步骤以Android应用为例,iOS应用的操作类似。

  1. 步骤1:查找目标应用的包名
    你可以通过adb工具查找已安装应用的包名。连接你的设备并执行:

    adb shell pm list packages | grep 关键字
    

    用你想要分析的应用名称替换关键字,这将帮助你快速定位包名。

  2. 步骤2:使用Objection注入应用
    找到包名后,使用Objection对应用进行注入:

    objection -g 包名 explore
    

    这条命令将启动Objection并注入目标应用。如果成功,你会看到Objection的交互式Shell。

  3. 步骤3:启动抓包
    在Objection的Shell中,你可以执行各种命令来审计应用。为了抓取HTTP/HTTPS包,可以使用以下命令启动抓包:

    android sslpinning disable
    

    这条命令尝试禁用目标应用中的SSL Pinning机制,以允许中间人攻击(MITM)工具(如Burp Suite或Charles)成功抓取加密的HTTPS流量。

    然后,你可以设置代理,使得设备的流量通过MITM工具:

    network.setup.proxy <代理IP> <代理端口>
    

    请替换<代理IP>和<代理端口>为你的MITM工具监听的IP地址和端口。

分析抓包数据

在Objection和MITM工具配置完成后,你可以开始操作移动应用,并在MITM工具中观察和分析流经代理的数据包。这可以帮助你理解应用的网络通信过程,识别潜在的安全问题。

总结

Objection是一个功能强大的工具,可以帮助开发者和安全研究人员在不越狱或root的情况下对移动应用进行深入的安全审计。通过与MITM工具结合使用,Objection可以有效地协助进行抓包分析,揭示应用的网络通信细节和安全漏洞。希望本文能帮助你掌握使用Objection进行移动应用抓包的技能。

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

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

相关文章

Mybatis的核心配置文件

MyBatis的全局配置文件mybatis-config.xml&#xff0c;配置内容如下&#xff1a; properties&#xff08;属性&#xff09;settings&#xff08;全局配置参数&#xff09;typeAliases&#xff08;类型别名&#xff09;typeHandlers&#xff08;类型处理器&#xff09;objectFa…

面试知识汇总——垃圾回收器(分代收集算法)

分代收集算法 根据对象的存活周期&#xff0c;把内存分成多个区域&#xff0c;不同区域使用不同的回收算法回收对象。 对象在创建的时候&#xff0c;会先存放到伊甸园。当伊甸园满了之后&#xff0c;就会触发垃圾回收。 这个回收的过程是&#xff1a;把伊甸园中的对象拷贝到F…

flutter项目使用ffi和原生交互问题积累

一、动态库和静态库调用不了的问题 1.flutter项目中运行iOS使用静态库.a问题 错误信息&#xff1a;Invalid argument(s): Failed to lookup symbol native_add:dlsym(RTLD_DEFAULT, native_add): symbolnot found 解决&#xff1a; 使用xcode打开Runner.xcworkspace&#xff0c…

跨时钟域学习记录(二)——XPM_CDC

本文以Xilinx提供的xpm_cdc代码为例&#xff0c;整理处理跨时钟域数据传输的常见方法。 宏定义 Xilinx定义了多个宏定义代替描述触发器行为的always块&#xff0c;列举如下 宏名称含义XPM_XSRREG带同步复位/置位的同步寄存器XPM_XSRREGEN带同步复位/置位和使能的寄存器XPM_XA…

【物联网】Qinghub Kafka 数据采集

基础信息 组件名称 &#xff1a; kafka-connector 组件版本&#xff1a; 1.0.0 组件类型&#xff1a; 系统默认 状 态&#xff1a; 正式发布 组件描述&#xff1a;通用kafka连接网关&#xff0c;消费来自kafka的数据&#xff0c;并转发给下一个节点做相关的数据解析。 配置文…

网络七层模型之物理层:理解网络通信的架构(一)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Visual Studio 常用快捷键大全

前言 对于开发者而言&#xff0c;熟悉快捷键的使用&#xff0c;能够起到事半功倍的作用&#xff0c;提高工作效率。以下是我整理的一份Visual Studio常用快捷键清单&#xff0c;希望能够帮助到你。 常用快捷方式 快捷键功能Ctrl K C注释选定内容Ctrl K U取消注释选定内容…

Vue 3.0 中一些主要的生命周期钩子

Vue 3.0 的生命周期钩子与 Vue 2.x 有所不同&#xff0c;但基本的概念和用途是相似的。这些钩子函数允许你在组件的不同阶段执行特定的逻辑。以下是 Vue 3.0 中一些主要的生命周期钩子&#xff1a; setup()&#xff1a;这是 Vue 3 引入的一个新钩子&#xff0c;它在组件创建之前…

如何忽略Chrome最小字号的限制

通过控制台调整字体大小时&#xff0c;可以发现即便设置了小于12px的字号&#xff0c;也并不会变小&#xff0c;这是因为Chrome默认最小字号为12px。 在Chrome设置中的外观选项卡中可以发现&#xff0c;默认字体是16px。将最小字号改为0&#xff0c;就能随意设置小于12px的字号…

spring boot商城、商城源码 欢迎交流

一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁&#xff0c;为生产环境多实例完全准备&#xff0c;数据库为b2b2c设计&#xff0c;拥有完整sku和下单流程的商城 联系: V-Tavendor

文件编辑命令—vim

1.vim vim 是vi的升级版本.vi 文件名(vi方向键用不了) vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 2.安装vim sudo apt install vim 如果出错了:apt update:刷新软件源; 出现"无法获得锁 之类的"sudo rm 文件…

Java 如何针对不同类型判断一个对象是否为空

在Java中&#xff0c;要判断一个对象是否为空&#xff0c;通常需要考虑不同类型的对象。下面是针对不同情况的一些常用方法&#xff1a; 判断引用类型对象是否为null&#xff1a; 对于引用类型的对象&#xff0c;可以使用简单的判空操作来检查是否为null。 Object obj null…

后端常问面经之并发

volatile 关键字 volatile关键字是如何保证内存可见性的&#xff1f;底层是怎么实现的&#xff1f; "观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现&#xff0c;加入volatile关键字时&#xff0c;会多出一个lock前缀指令”lock前缀指令实际上相…

2015年认证杯SPSSPRO杯数学建模D题(第二阶段)城市公共自行车全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 D题 城市公共自行车 原题再现&#xff1a; 城市交通问题直接影响市民的生活和工作。在地形平坦的城市&#xff0c;公共自行车出行系统是一种很好的辅助手段。一般来说&#xff0c;公共自行车出行系统由数据中心、驻车站点、驻车桩、自行车&…

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第三周&#xff1a;浅层神经网络(Shallow neural networks)3.1 神经网络概述&#xff08;Neural Network Overview&#xff09;3.2 神经网络的表示&#xff08;Neural Network Representation…

2024年碑林区软科学研究项目申报类型方向、时间流程要求

一、征集类型及研究方向 项目类型:重点支持综合运用自然科学、社会科学和工程技术多门类、多学科知识,为科技和经济社会发展的重大决策提供支撑。 项目支持以“五大发展理念”为指导,围绕科技、经济、民生等社会发展问题,开展对策研究,包含但不限于:加快培育新质生产力、秦创…

【Java八股面试系列】中间件-Redis

目录 Redis 什么是Redis Redis解决了什么问题 Redis的实现原理 数据结构 String 常用命令 应用场景 List(列表) 常用命令 应用场景 Hash(哈希) 常用命令 应用场景 set(集合) 常见命令​编辑 应用场景 Sorted Set(有序集合) 常见命令​编辑 应用场景 数据持…

idea中gradle编译下运营main方法报CreateProcess error=206

问题描述 CreateProcess error206 文件名或扩展名太长 问题分析 解决方案 build.gradle文件里添加 buildscript {repositories {maven {url "https://plugins.gradle.org/m2/"}}dependencies {classpath "gradle.plugin.ua.eshepelyuk:ManifestClasspath:1.…

kali MSF网络安全框架

MSF&#xff0c;全称The Metasploit Framework&#xff0c;简称MSF&#xff0c;是一个强大的网络安全框架&#xff0c;主要用于进行渗透测试和漏洞利用。它提供了丰富的模块和工具&#xff0c;帮助安全研究人员和渗透测试人员发现、利用和修复系统中的安全漏洞。 操作: 不夸张…

web渗透测试漏洞流程:红队资产信息收集之单个目标信息收集

端口爆破工具用法 Hydra 参数详解: -R 根据上一次进度继续破解 -S 使用SSL协议连接 -s 指定端口 -l 指定用户名 -L 指定用户名字典(文件) -p 指定密码破解 -P 指定密码字典(文件) -e 空密码探测和指定用户密码探测(ns) -M <FILE>指定目标列表文件一行一条 -…