FrankKai.github.io
FrankKai.github.io copied to clipboard
前端安全笔记
XSS(跨站脚本攻击 Cross Site Scripting)
攻击
- 分类:存储型、反射型、DOM型
- DOM API注入:innerHTML(v-html),outerHTML,document.write(),
- js API注入: 内联监听器,eval(),setTimeout,setInterval
防范
- 输入过滤并且转义
- XSS攻击字符串,XSS漏洞检测工具
- 避免原生API使用模板引擎,避免内联事件,避免拼接HTML
- 包含敏感数据的cookie通过服务端做写入,httpOnly;event isTrusted属性
- 验证码(手机端是一个沙盒,很难进行窃取)、图形验证、手势验证、人脸识别等等
CSRF(跨站请求伪造 Cross Site Request Forgery)
攻击
- 构造一个恶意的伪造请求并诱导用户触发(可以是跳转链接手动触发,也可以是执行脚本自动触发)
- GET类型是对url参数做修改;POST类型伪造一个hidden的input表单
防范
- 浏览器同源策略CORS(Referrer和Origin)
- 加token(md5加密,md5加salt)
- sameSite cookie(限制较为严格)
- 包含敏感数据的cookie通过服务端做写入,httpOnly;event isTrusted属性