跨站请求伪造CSRF
CSRF攻击原理
攻击者诱导用户点击,获取用户的session,并假装用户本身,提交请求到目标网站。
根本原因:目标网站无法验证请求是不是用户“自愿”发起的,只能验证是不是用户发起的
防范方式:
在请求中添加攻击者难以制造的信息
1、随机化Token
每次刷新页面时,都需要新的Token
使用hidden field的方式,将Token添加到表单中提交
2、Referer检查
3、Cookie SameSite属性:
4、限制Cookie操作:不在Cookie中添加敏感信息,避免Cookie外泄
3、限制HTTP
http头:X-Xsrf-Token:
XSS攻击(Cross Site Scripting,跨站脚本攻击)
攻击原理
在web页面中插入恶意脚本,在用户浏览的时候执行。
分类
- 反射型、非持久性XSS:诱导受害者去访问恶意的URL
如恶意链接
- 存储新:将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面,就会触发恶意代码的执行
如在博客的评论中,添加恶意代码
- DOM-Base型:
- SQL注入:
可以使用预编译语句PreparedStatement 防范
防范策略
- cookie安全策略
1、http-only
2、secure-only
3、host-only
- X-XSS-Protection设置
- 其他。。。
参考文档
1、XSRF-TOKEN
https://blog.csdn.net/m0_57236802/article/details/132259004
2、XSS攻击及防范:https://www.cnblogs.com/tugenhua0707/p/10909284.html