美文网首页
Https防抓包机制

Https防抓包机制

作者: 瑜小贤 | 来源:发表于2020-03-04 17:17 被阅读0次

常用抓包工具

  • Charles
  • Fiddler

TCP/IP分层

TCP/IP 的分层共有四层:应用层、传输层、网络层、数据链路层

  • 应用层:向用户提供应用服务时的通讯活动(ftp、dns、http)
  • 传输层:网络连接中两台计算机的数据传输(tcp、udp)
  • 网络层:处理网络上流动的数据包,通过怎样的传输路径把数据包传送给对方(ip)
  • 数据链路层:与硬件相关的网卡,设备驱动等等

HTTP/HTTPS

  • HTTP

HyperText Transfer Protocol(超文本传输协议),用于在Web浏览器和网站服务器之间传递信息,在TCP/IP中处于应用层。
1. 通信使用铭文,内容可能被窃听
2. 不验证通信方的身份,因此有可能遭遇伪装
3. 无法证明报文的完整性,所以有坑呢遭到篡改

  • HTTPS

HTTPS中的S表示SSL或者TLS,就是在原HTTP的基础上加上一层用于数据加密、解密、身份认证的安全层
HTTP + 加密 + 认证 + 完整性保护 = HTTPS

HTTPS单向认证

https单向认证

HTTPS双向认证

https双向认证

Charles抓包原理

charles抓包原理

防抓包策略

1.检测代理
  • 检测是否使用网络代理
  • 将网络库(如okhttp库)设置为无代理模式,不走系统代理
//HttpURLConnection:
URL url = new URL(urlStr);
urlCOnnection = (HttpURLConnection)url.openConnection(Proxy.NO_PROXY);

//OkHttp:
OkHttpClient client = 
        new OkHttpClient().newBuilder().proxy(Proxy.NO_PROXY).build();
  • 攻防实例:防御破解(js hook脚本)
try{
    var URL = Java.use("java.net.URL");
    URL.openConnection.overload('java.net.Proxy').implementation = function(arg1){
        return this.openConnection();
    }
}catch(e){
    console.log(""+e);
}

try{
    var Builder = Java.use("okhttp3.OkHttpClient$Builder");
    var myBuilder = Builder.$new();
    Builder.proxy.overload('java.net.Proxy').implementation = function(arg1){
        return myBuilder;
    }
}catch(e){
    console.log(""+e);
}
2.证书固定
  • SSL-Pinning
  • 证书锁定(Certificate Pinning)
    在客户端代码内置仅接受指定域名的证书,而不接受操作系统或浏览器内置的CA根证书对应的任何证书。(缺陷:证书有效期问题)
  • 公钥锁定(Public Key Pinning)
    提取证书中的公钥并内置到客户端中,通过与服务器对比公钥值来验证连接的正确性
  • 攻防实例:突破SSL-Pinning
  • Xposed框架
    Android上应用广泛的HOOK框架,基于Xposed框架只做的外挂模块可以hook任意应用层的java函数,修改函数实现
  • justTrustMe插件
    justTrustMe是一个用来禁用、绕过SSL证书检查的基于Xposed的模块。将Android系统中所有用于校验SSL证书的API都进行了Hook,从而绕过证书检查

3.总结
放抓包策略就是对抗hook,常见方法

  • 检测hook : 检测Xposed、Frida、Substrate等Hook框架
  • 使用socket连接 : 使用Socket走TCP/UDP,防止被应用层抓包
  • 传输数据加密 :协议字段加密传输,并隐藏秘钥,应用层加固
  • native层传输 : 将网络传输逻辑写到jni层实现,提高反编译门槛

相关文章

  • Https防抓包机制

    常用抓包工具 Charles Fiddler TCP/IP分层 TCP/IP 的分层共有四层:应用层、传输层、网络...

  • Https防抓包机制

    了解常用的抓包工具 常见的抓包工具 Charles Fiddler 了解中间人攻击原理 首先当服务器发送CA证书给...

  • Android Charles https 证书固定 防抓包-2

    Android Charles https 证书固定 防抓包 Android Charles 证书固定最近在做公司...

  • Mac 电脑抓HTTPS包 手机/Charles配置流程

    <关键字: Mac抓包 Charles抓HTTPS包 Mac抓HTTPS包 手机抓HTTPS包> 1、确保手机和电...

  • https 抓包

    https://www.cnblogs.com/lanleiming/p/5947104.html

  • HTTPS 抓包

    52破解论坛内的一个帖子[Android 转帖] Android平台HTTPS抓包解决方案及问题分析https:/...

  • https抓包

    目录 关于Charles Charles安装、破解、授权 手机配置 Charles证书申请、信任 添加被监听的ht...

  • 抓包https:

    https://www.cnblogs.com/canfoo/p/6169599.html[https://www...

  • 抓包https

  • iOS抓包(Charles)

    Charles抓包(iOS的http/https请求) Charles安装 HTTP抓包 HTTPS抓包image...

网友评论

      本文标题:Https防抓包机制

      本文链接:https://www.haomeiwen.com/subject/omlblhtx.html