这是我参与「第四届青训营 」笔记创作活动的第6天
这节青训营的课程老师讲解了以下有关Web开发的安全问题,这部分内容我在学习的过程中基本没有涉及到,所以想要写个笔记来记录一下。
XSS
- 首先,XSS的含义就是跨站点脚本攻击
- XSS的一些特点:
- 通常难以从UI上感知,因为他是暗地执行脚本,难以被发现
- 他会窃取用户信息,比如说用户的cookie以及token
- 他会绘制UI,比如说弹窗,诱骗用户点击或填写表单,从而造成用户的信息泄露
- XSS主要利用了盲目信任用户的提交内容,string=>Dom
- document.write
- element.innerHTML = anyString
- SSR(user_data) //伪代码
- 可以直接提交恶意脚本从而达到攻击的效果
Cross-site request forgery(CSRF)
- 首先,CSRF就是跨站请求伪造,一种挟制用户在当前已登录的Web应用程序上执行非本意操作的攻击方法。通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作。跨站请求伪造是在许多Web应用程序中发现的严重缺陷。与XSS攻击相比,CSRF攻击往往不大流行和难以防范,所以被认为比XSS更具危险性。
- 简单来说就是在用户不知情的前提下,利用用户权限(cookie),构造指定HTTp请求,窃取或者修改用户敏感信息
Content Security Policy(CSP)
- 首先,CSP就是内容安全策略,它可以使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。
HTTP的一些新特性
- 可靠性:加密
- 完整性:MAC验证
- 不可依赖性:数字签名
总结:
- 安全无小事
- 使用的依赖可能成为最薄弱的一环
- 保持学习心态