美文网首页iOS逆向
讲清楚charles抓包原理

讲清楚charles抓包原理

作者: GTMYang | 来源:发表于2022-07-22 18:03 被阅读0次

    基础概念

    1. CA

    CA是证书颁发机构,不是随便什么人都能成为证书颁发机构,关键是你颁发的证书要别人认可。别人认可你才会内置你的证书(机构证书,也称根证书)。

    2. TSL证书

    TSL证书是指用于https通信,客户端验证服务端的合法性的一个数据包。

    证书内容

    服务提供者的基本信息和证书颁发机构和使用的算法和域名等+该服务的公钥+证书签名

    证书签名怎么产生

    服务提供者的基本信息先取hash,再用CA机构的私钥加密。

    3. 根证书

    CA机构的证书,客户端内置(最常见的就是浏览器厂商内置主流机构的证书)

    4. 证书链

    下级证书的签名是使用上级证书的私钥加密产生的,所以因为这个关联关系形成了一个链条。

    5. 证书校验过程

    step1 服务端发送自己的证书给客户端
    step2 客户端读取证书颁发机构
    step3 客户端找到本地对应机构的证书
    step4 客户端那机构证书公钥解密服务器证书签名
    step5 客户端拿证书信息作hash,与step4解密的内容对比,相等并且基本信息中的域名跟当前访问的域名一致则通过。

    charles抓包原理

    charles的根证书

    charles自己做了一个根证书,你想要用charles抓包,第一步你要内置他发布的根证书。

    charles伪造证书

    charles用他自己的证书给你服务端的域名做一个证书。

    charles作为中间人的流程

    step1 拦截客户端请求
    step2 发送他伪造的证书给客户端
    step3 因为你内置了charles的根证书,所以该证书能校验通过
    step4 客户端根charles协商好通信密码开始通信。
    step5 charles收到客户端数据用伪造证书的私钥解密
    step6 charles使用同样的流程跟你的服务器建立HTTPS加密通道
    step7 charles将收到的客户端数据通过建好的通道发给服务器
    step8 服务器返回响应数据给charles
    step9 charles解密响应数据再加密发给客户端

    画了张简陋的图

    11658482551_.pic_hd.jpg

    相关文章

      网友评论

        本文标题:讲清楚charles抓包原理

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