HTTPS通俗讲解
HTTPS是基于SSL实现安全通讯的,而SSL又是基于 非对称加密 和对称加密来实现安全通讯的.
对称加密是指用同一个秘钥加密解密,非对称加密可以简单理解成通过一种算法生产公开的秘钥(简称公钥)和私钥,公钥加密的内容只能由私钥解密.
对称加密简单,性能好但是由于传递秘钥的过程容易泄露秘钥,所以用非对称加密来保护这个传递过程.
下半部分解释了https请求的过程,这个过程里有证书.这个证书是用来验证服务器真伪的,也就是防止黑客伪装成正常的服务器.
每个合法的https服务器都要有一个从CA机构申请的证书,浏览器拿到这个证书后可以去CA机构哪里验证真伪,这样就可以确定访问的服务器是合法的了.
fiddler实现https内容劫持的简单解释
浏览器之所以知道CA机构的地址是因为电脑或浏览器内置了一个合法CA结构列表. 每次需要验证时就从这个列表查找CA机构地址,然后去验证.
使用fiddler劫持https请求之前,它会要求你下载一个文件安装到你的电脑上,这个文件会在CA机构列表里添加一个非法的CA结构地址. 当浏览器获取到fiddler伪装的服务器的证书时这个非法的CA机构就会告诉浏览器"这是一个合法的证书",就这样fiddler骗过了浏览器,让浏览器吧请求内容发送给了fiddler,
fiddler再伪装成浏览器给真正的服务器发送请求,把真服务器返回的内容再返回给真浏览器.
当fiddler在中间代理时,它就可以自由的展示/修改请求的内容了.