web安全入门
最近放假在家确实无聊
看爱情公寓甚至追不上vip的进度
所以在知乎上看了下web安全入门的网课
再结合现在的项目理解了一下这些地方的应用
最基础的就是OWSAP TOP 10
也就是10种比较常见的web应用的攻击方式
首先比较低级的注入和跨站攻击这些都能从前后端进行防范
sql注入在现在的一些官方库都可以进行防范了 比如gorm中用问号代替的参数都是防注入的
一般go中只要不是fmt直接拼接的字符串都不会有注入的问题
跨站攻击更多是从前端进行防范
跨站xss攻击也是一种注入 只不过是代码注入
具体的操作还是看看知乎
在现在的项目中有具体应用的就是cookie的jwt令牌
jwt主要由三部分组成 头部 内容 密钥签名
每两部分之间都是用小数点分隔开
且每一部分的内容都是用base64加密 所以每一部分都是可逆的
但是因为有密钥的存在 所以保证了jwt的安全性
头部主要是声明类型和这里签名的加密的算法
类型显然就是jwt类型了
加密算法默认是HMAC SHA256(HS256) 不过我还没了解到别的 有别的应该也就是换个参数
内容就是我们要传递下去的内容
这部分内容是可以通过base64进行解码解出来的 所以不能存放一些敏感信息
最后一部分就是密钥签名
这部分会将上面的两部分和服务器上的密钥进行加密生成一个签名
这部分签在jwt的最后 因为密钥保存在服务器上 一般用户并不知道
所以jwt认证防御了用户伪造请求的攻击
因此这个密钥也十分重要
参考:
https://zhuanlan.zhihu.com/p/46505934