网络安全小结

postget

首先呢,登录是要用post请求,还是用get请求。这个我一下子没明白,因为大家都说post比get更安全,然后我就了解了一下,大家会说这个是因为get请求是直接把参数放在querystring(长度限制255)里的,可以直接被看到,而post是把参数放在body里,不能直接被看到。但其实只要截获了这个报文是可以看到body里的内容的。这时候就想到要给账号密码进行hash加密,加密后就不是明文了嘛。

重放攻击

我以为这样就万事大吉了,结果有给我知道一个重放攻击,就是拿着加密后的账号密码直接去访问服务器就好了(把其中的其他操作参数进行更改),不管加没加密,都可以一样访问。防止重放攻击的方案我又了解到有timestap(在http请求里加上timestap参数,限定在60s内这个报文是安全的,缺点:60s内的重放攻击无法防止)和nonce(在本地用Mac地址、时间戳、token啥的生成一个唯一字符串,在服务器上存储收到过的字符串,收到请求的时候判断这个字符串之前是否有请求过,缺点:集合越来越大,占内存)所以有一个优化的方案就是timestap和nonce一起用,大于60s就清空一次集合。

HTTPS

但这样搞我觉得太麻烦了嘛,我就想看看有没有什么简单的方法,然后就知道了https。https的思路就是对数据进行对称加密,对称加密所要使用的密钥通过非对称加密传输。然后这个公钥是服务器告诉大家的,客户端用公钥加密了自己的私钥传给服务器,服务器再用自己的私钥去解密这个公钥。(因为用私钥对称加密,解密的速度比较快)服务器的公钥和私钥就是来自证书机构,所以只要证书机构安全,https就没有问题。

中间人攻击

这时候我又知道了一个中间人攻击,中间人攻击分为两种。

SSL劫持攻击

将自己接入到客户端和服务器中间,将公钥替换成自己的公钥。

SSL剥离攻击

也要将自己设为中间人,与客户端HTTP明文会话,与服务器继续HTTPS会话

数字签名

这时候将明文hash生成摘要,用私钥加密摘要和明文,到服务器再用私钥解密,再在服务器hash一次明文,看看是否和摘要是一样的。

 

参考文章:

https://blog.youkuaiyun.com/weixin_42375964/article/details/108269784

https://blog.youkuaiyun.com/weixin_42375964/article/details/109132907

https://blog.youkuaiyun.com/weixin_42375964/article/details/108269850

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值