https/http的一些疑问

本文深入探讨了HTTP协议的安全隐患,解释了HTTPS如何通过加密解决这些问题。从HTTP劫持的危害到HTTPS加密的具体内容及流程,再到证书在安全验证中的角色,全面剖析网络通信安全。

之前专门研究过Https的加密方式,以为对http和https都比较了解,后来慢慢的脑袋里有一些其他疑问,在此做下记录

1. http为什么不安全?

  1. 设备A访问百度,并不是直接跟百度服务器联系上的,中间需要很多路由器的转发,?:设备A->路由B->路由C->…路由F->百度服务,百度响应设备A的请求也是要经过这个过程。
  2. 由于http协议没有对数据加密,所以每个路由器都知道设备A和百度之间的通信内容。就类似于你向好友寄信,中间的每个邮递员都可以打开你的信封并对信封内容做修改。
  3. 再举个恶意攻击的真实?:A用电脑连接上陌生的wifi访问JD,正好这个wifi是攻击者B提供的,由于你使用的是http协议,因此B知道你要访问JD,就不帮你继续做转发访问真正的京东网站,而是直接将自己写的假JD html返回给你,你在这上面进行登录后,B就可以收集你的账号密码。这就是很多地方不建议你轻易链接陌生wifi的原因。除此之外,某些路由也是利用这个漏洞,在JD给你返回的html中嵌入一些他们的广告。
  4. 这个漏洞的专业术语叫做http劫持,由于https协议对传输数据进行了加密,才修复了这个漏洞

2. https协议对哪些内容进行加密?

只剩下域名端口和 User-Agent,其他都加密了

3. https加密流程?

具体流程参考什么是 HTTPS 协议?

4. 证书被攻击者拦截,然后篡改响应内容

如果发送的是https请求,浏览器首先要判断响应是否有证书,如果没有证书浏览器会直接说证书无效,攻击者啥也做不了

5. 证书被拦截,然后在攻击者将自签名证书给到客户端

  1. 证书颁发者都在CA机构做了认证,并且各个浏览器和操作系统都默认认为在CA机构认证过的证书都是可信任的,其他都默认不信任,
  2. 所以如果攻击者给到一个自签名的证书,浏览器是不认的,但是如果你非得要在电脑或手机上信任陌生的证书,那就没办法了。但并不是所有的自签名证书都是恶意的,比如我们抓包是安装并信任的证书。
  3. 攻击者也可能给客户端发送一个认证过的证书,但这种方式无益于自爆,因为认证过证书上包含着自己的信息,这样搞很容易找到攻击者
  4. 我拦截到JD的证书,然后我找到腾讯的证书,将腾讯的证书给到客户端,这种方式无效,因为腾讯的证书中不可能包含JD证书的服务器公钥。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值