对于刚刚进入移动安全领域的安全研究人员或者安全爱好者,在对手机APP进行渗透测试的时候会发现一个很大的问题,就是无法抓取https的流量数据包,导致渗透测试无法继续进行下去。
这次给大家介绍一些手机端如何抓取https流量的技巧。
下面将主要通过两个层次篇章来逐步向大家进行介绍:
 
第一篇章-初级篇浅层次抓包。对于非root设备(Android)或非越狱设备(iOS)如何抓取https流量;
第二篇章-进阶篇:深层次抓包。对于root设备或者越狱设备如何抓取https流量。
 
对于非root Android设备或者未越狱的iOS设备,由于用户可获取设备控制权限不足,所以只能进行浅层次的https抓包,就是通过在移动设备中安装抓包工具的证书来使移动设备信任抓包工具以此来抓取https流量,但是此方法只适用于一些对于证书校验不太严格的应用,如存在信任任意SSL证书漏洞的应用等等。以下就以Burp Suite抓包工具为例,分别介绍如何在不同平台(Android & iOS)设备上进行证书的安装以此来抓取https流量数据包。
 

Android平台

 
Android设备需要在pc上将Burp Suite的证书导出,然后传到手机上进行安装。
首先打开Burp Suite,设置一个本地代理。
 
 
 
打开Firefox浏览器,设置本地代理:IP:127.0.0.1 端口:8080。
 
 
打开任意一个https网站,如:https://www.baidu.com
 
 
此时Firefox会提示连接不安全,接下来点击高级,选择添加例外。
 
 
此时弹出一条警告。
 
 
点击证书状态下的查看选项,会展示证书的信息。
 
 
点击详细信息,并选中证书机构中的PortSwigger CA。
 
 
点击下方导出按钮,将证书文件导出到本地。
 
 
之后通过USB数据线或者adb push命令将证书文件发送到手机SD卡目录。
 
 
打开手机设置,选择安全,并选择从SD卡安装证书。
 
   
 
打开SD卡选择我们刚刚上传到手机的证书文件,点击文件并设置一个名字进行安装。
 
  
 
安装完成,点击信任的凭证中用户项查看安装的证书信息。
 
  
 
部分系统或机型可能直接通过在SD卡目录下点击证书文件即可安装。可能有部分系统或机型安装证书文件的位置不同,这里就不在一一区分了。
 

iOS平台

 
iOS设备安装burpsuite证书就方便多了。
首先需要使iOS设备和安装Burp Suite电脑处于同一网段(1、iOS设备和电脑连接同一无线网;2、电脑开热点供iOS设备连接)并设置代理,即正常抓取http流量的操作。
 
iOS设备直接打开burpsuite监听的IP及端口。
 
 
 
点击CA Certificate,提示安装描述文件即证书文件。
 
 
点击安装,提示输入手机密码。
 
 
输入手机密码之后会有警告提示。
 
 
直接点击安装,继续完成安装,即可安装成功。
 
 
 
然后到手机设置-通用-描述文件,即可查看证书信息。
 
 
 

测试
 
证书安装完成之后,用手机访问一个https的网站,这时就发现https的数据包可以抓取到了。
 
 
 
 
如写的有不当的地方,欢迎指正,第二篇章-进阶篇 即将发布,欢迎持续关注。

移动端https抓包那些事--初级篇的更多相关文章

  1. 移动端https抓包那些事--进阶篇

    上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因 ...

  2. 【burp】配置HTTPS抓包方法

    以Chrome为例,配置HTTPS抓包方法 1.获取破解版的burp,将BurpLoader.jar和burpsuite_pro_v1.5.18.jar放到一个路径下 2.在cmd里进入上述两个jar ...

  3. charles支持https抓包配置

    自从公司站点全部启用https后,使用charles就不能像以前那样愉快的抓包啦!不过没关系,这里教你怎么配置charles,使其支持https抓包.之前有一篇介绍charles的使用,参考这篇:ht ...

  4. Charles的Https抓包及弱网配置

    一.Charles的主要功能 (1)截取Http 和 Https 网络封包. (2)支持重发网络请求,修改请求参数,方便后端调试. (3)支持模拟弱网环境. 二.配置简单抓包 1.设置系统代理:勾选P ...

  5. Charles的HTTPS抓包方法及原理,下载安装ssl/https证书

    转自:https://zhubangbang.com/charles-https-packet-capture-method-and-principle.html 本文的Charles,适应windo ...

  6. Charles进行HTTPS抓包(iOS为例)

    各种抓包工具的原理都是一样的,使用方面也都是差不多的,因为最近在用Mac,所以抓包工具开始用Charles了,记录一下抓取HTTPS的步骤. 连接代理, 开启抓包工具, 手机设置代理服务器,端口号(默 ...

  7. Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  8. Charles 4.2.1 HTTPS抓包

    Charles 4.2.1 HTTPS抓包 Charles iPhone抓包 Mac必须与iPhone连接同一WiFi Proxy -> SSL Proxying Settings ->  ...

  9. (在客户端)https抓包解密

    (一)原理分析 https的数据包是用对称秘钥(https协议协商出来的随机数)加密后的密文. 对称秘钥在传输线路上是密文的(被非对称加密过),但是在client.server端是明文的(因为要用于加 ...

随机推荐

  1. C#与Java对比学习

    Eclipse开发环境与VS开发环境的调试对比 数据类型.集合类.栈与队列.迭达.可变参数.枚举 类型判断.类与接口继承.代码规范与编码习惯.常量定义

  2. C# 禁止ALT+F4(钩子)

    1. Windows Forms中禁用窗体的关闭按钮  添加必要的命名空间: using System.Runtime.InteropServices;   添加必要的常数和API函数的引用 priv ...

  3. MongoDB--初始

    指定启动目录,以服务形式启动 Mongod --dbpath=XXXXXX --logpath=XXXXXXXX --logappend --serviceName "XXXXX" ...

  4. Android Studio开发环境配置(win7)

    由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...

  5. Less 的使用

    Less 的使用 开发时直接使用 引用你的样式文件(main.less) (必须在less.min.js) 前引用 引用less.min.js 文件 <link href="resou ...

  6. Your password does not satisfy the current policy requirements

    创建用户,做测试想设置一个简单的密码.报错: 大概是MySQL5.7搞事情,默认安装了validate_password插件. mysql> SHOW VARIABLES LIKE 'valid ...

  7. script标签跨域的缺点

    1,只支持GET,不支持其他例如:put,delete,post等 2,想拿到数据需要服务器端做出相应处理,必须在window域下面有对应的执行函数.例如:window.callbackHandler ...

  8. centos 7 yum方式安装MySQL 5.6

    本文根据mysql的官方文档操作:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 由于Centos7 默认数据库是mariabd(网上 ...

  9. Chrome浏览器扩展开发系列之一:初识Google Chrome扩展

    1.       Google Chrome扩展简介 Google Chrome扩展是一种软件,以增强Chrome浏览器的功能. Google Chrome扩展使用HTML.JavaScript.CS ...

  10. 详解equals()方法和hashCode()方法

    前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码.equals()和hashCode()都不是final方 ...