转自sinesafe,作者:sineadm,如有侵权请及时联系
协议做网站的,一般是大型网站,以及支付网站,用户数据比较重要的一些网站。
呢?
超文本传输安全协议( 来加密数据包。
开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
网站被攻击原理如下图所示:
1、首先攻击者会对目标网站以及服务器进行中间人攻击,从而让流量走自己的电脑(这与burpsuit 的原理根本就是一样的)。
2、此时客户端便会与攻击者的服务器进行证书加密通信。
3、虽然用户此时进行的是来进行攻击,这个是伪造了证书。
当网站被攻击时,我们来看一下:
攻击者是如何攻击的
分8个步骤,我来一一列举,大家看一下:
一、第一步最重要的是要先建立TCP的三次握手连接,连接建立之后由客户端向浏览器发起连接的协议请求。
二、连接请求成功之后,client客户端会发送自己所有支持的ciphersuit,包括:对称加密算法、非对称加密算法、单向加密算法、伪随机数算法。
给目标服务器进行加密算法的协商,服务器会自动选择他们俩都支持的最安全的ciphersuit 协议进行加密安全通信。
三、然后服务器会发送自己的证书到客户端(证书用于验证服务器的身份,同时也包含了服务器以及网站的各种相关信息)。
四、客户端在接收到服务器的证书之后,会验证该证书是否是由本地根证书中所信任的颁发机构颁发的证书。证书里面会有证书颁发机构的私钥签名。
只有正确的私钥才能被客户端保存的公钥解密,这就保证了证书的安全性;证书中还会存在服务器的公钥,只有拥有私钥的服务器才能解密公钥加密的内容,这就保证了后续网站之间传输过程的安全性。
五、验证了证书的合法性之后,客户端会使用刚才协商的伪随机数算法生成对称密钥,然后将对称密钥通过服务器的公钥进行加密之后,再发送给服务器。
六、服务器接收到公钥加密的内容之后,会用自己的私钥进行解密,从而获取对称密钥,此时通信双方都得到了对称密钥就可以进行加密通信了。
七、通信时客户端会先将数据用对称密钥加密,然后又进行hash计算,然后用服务器的公钥将得到的hash值进行加密,将该hash值和加密之后的密文发送给server端,发送数据过程类似hash
( private_encrypt ( data ) ) +
public_encrypt ( hash ) --> server。
八、服务器接收到客户端传来的数据包之后,会先用自己的私钥解密密文得到 hash1 ,然后用hash1与没有加密的 hash 进行比较,相同则代表传输的数据没有被篡改,然后再用之前协商的单向加密算法解密 hash,用对称密钥解密密文得到data server发送数据过程类似:hash
( private_encrypt
( data ) ) +
private_encrypt ( hash ) --> client。
那么网站被攻击该如何防护呢?
首先要配置最安全的 。
再一个就是网站用到的所有密码不仅要靠协议来加密进行传输,在前端也要使用加密控件对密码进行加密,这样就算被降级攻击也拿不到明文的密码,破解也需要很长时间。
最后别忘了服务器端防御:
配置路由规则,绑定 IP/MAC 以防被 ARP 欺骗。谨慎打开浏览器提醒证书错误的网站,例如出现证书报错或者其他提示时,一定要谨慎。
所以说,无论是在工作还是在家,网络安全至关重要!
声明:我们尊重原创者版权,除确实无法确认作者外,均会注明作者和来源。转载文章仅供个人学习研究,同时向原创作者表示感谢,若涉及版权问题,请及时联系小编删除!
精彩在后面
Hi,我是超级盾
更多干货,可移步到,微信公众号:超级盾订阅号!精彩与您不见不散!
超级盾:从现在开始,我的每一句话都是认真的。
如果,你被攻击了,别打110、119、120,来这里看着就行。
截至到目前,超级盾成功抵御史上最大2.47T黑客DDoS攻击,超级盾具有无限防御DDoS、100%防CC的优势。