破解Charles和试用

1.下载安装,如果不是破解版会一直有提示还有10秒的启动广告,提供一个激活账号
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

2.抓https包

  1. Charles证书安装
    电脑证书:


    image.png

    image.png

2.手机证书:


image1.png

image.png

3.设置代理


image.png

image.png

4:抓包原理:
如果是HTTP请求,因为数据本身并没加密所以请求内容和返回结果是直接展现出来的。
但HTTPS是对数据进行了加密处理的,如果不做任何应对是无法获取其中内容。所以Charles做的就是对客户端把自己伪装成服务器,对服务器把自己伪装成客户端:

Charles拦截客户端的请求,伪装成客户端向服务器进行请求
服务器向“客户端”(实际上是Charles)返回服务器的CA证书
Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)
客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)
Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)
服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
Charles拦截服务器的响应,替换成自己的证书后发送给客户端
当然,如果用户不选择信任安装Charles的CA证书,Charles也无法获取请求内容。还有一种,如果客户端内置了本身的CA证书,这时如果Charles把自己的证书发送给客户端,客户端会发现与程序内的证书不一致,不予通过,此时Charles也是无法获取信息的。

通俗解释:
Charles可以抓取https报文的原理

原理就是: 中间人攻击

Charles 作为一个中间人来进行 HTTPS 的代理,让我们检测到浏览器和 SSL web 服务端之间的明文通信。
Charles 把自己变成一个中间人来达到这一目的。你的浏览器是收不到服务端证书的,Charles 会用自己的根证书动态签发一张证书,然后 Charles 来接受服务端的证书,你的浏览器接受 Charles 的证书。

Charles 仍然通过 SSL 与服务端进行通信,但通信是通过浏览器到 Charles,然后在从 Charles 到服务器。
通俗版SSL协议原理:

小明和小王是一对好基友,但是远隔万水千山,只能通过写信来传递消息。俩人每天的信件都是通过邮递员小红来传递的,这俩人每天纸条上明文写着信息,小红也天天看的不亦乐乎,这就是 HTTP。
时间久了,两人发现不行,比如有时候会传递一些不和谐的内容,不希望小红这样的腐女看到;于是小明灵机一动,换成葬爱家族的杀马特火星文来进行通信;小王看后,心领神会。由于转换方式两人都知道,这就是对称加密技术。
然而好景不长,小红勤学苦练,终于练成了火星文十级,又能看懂俩人加密的内容了。俩人必须要更换加密方式,但是更换的加密方式也只能通过小红来传递,所以这个加密的手段很难瞒住小红,这就是 HTTP 的不安全性。
正好小明是一位博学的哲♂学家,他立刻写了封信给小王:把你家储物间箱子的上那把挂锁寄过来!小王看后立刻拿出了那把 82 年的挂锁,把它打开并寄给了小明。这个锁大家都能看到,但只有小王有钥匙,这就是传说中的非对称加密,锁就是公钥,小王的钥匙就是私钥。
小明收到后,仔细研究了那把锁,上面烫着『隔壁老王』四个鎏金大字,正是王家祖传的锁,这就是验证服务端的数字证书。
于是小明放心的把新的加密方式写在信中,放到盒子里,然后用锁锁上。由于小红没有钥匙,没法查看盒子里到底写了啥,只能原样送过去。小王收到后,用自己的钥匙打开了锁,获得了新的加密方式。这就完成了 SSL 协议的握手。
利用Charles之后的场景:

小红拿到锁以后,先扣着不发,然后掏出了自己的锁寄给小明,这就是 Charles 签发了自己根证书;
小明一看这把锁不是正宗王家的,但是小红家的锁,似乎也可以相信,这就是信任了 Charles 的根证书;
小明把加密方式写进去,然后用小红的锁锁起来了,小红打开之后研究了加密方式,发现两人是在用水星文进行交流,瞬间水星文也达到了十级,然后在换上小王的锁锁上了盒子,还给了小王;
小王毫不知情,之后俩人用水星文进行交流,但内容已经全被小红捕获到了。

你可能感兴趣的:(破解Charles和试用)