这是我参与「第四届青训营 」笔记创作活动的的第5天
前言
Web安全非常常见,它会危害用户、公司甚至程序员,一定要重视安全问题。
两个角度
1. 攻击者
跨站脚本攻击(cross-site scripting)-XSS
在开发界面,通过一种方式把恶意脚本注入进来,当用户访问页面时,脚本会被执行,被攻击可能会造成用户信息泄露。
- XSS主要利用
- 开发者盲目信息用户输入的信息。
- 前端工程师把用户输入的字符串直接转化为DOM。
- XSS的特点
- 通常难以从UI上感知(暗地执行脚本)
- 窃取用户信息(cookie、tooken)
- 绘制UI(例如弹窗),诱骗用户点击、填写表单。
- XSS的类别(按照性质)
- stored XSS(存储型)
- 恶意脚本被存储数据库
- 访问页面--读数据--被攻击
- 危害最大,对全部用户可见
- reflected XSS(反射型)
- 不涉及数据库
- 从URL入手
- stored XSS(存储型)
-
- DOM-based XSS
- 不需要服务器的参与。
- 恶意攻击的发起+执行,全在浏览器完成。 反射型和基于DOM的区别: 注入脚本的位置:反射型在server,基于dom的在浏览器端。
- DOM-based XSS
-
- Mutation-based XSS(突变)
- 利用浏览器渲染DOM的特性(独特优化)
- 不同浏览器,会有区别(按照浏览器进行攻击)
Cross—Site Request Forgery(CSRF)跨站伪造请求
用户不知情的前提下,利用用户权限(cookie),构造指定HTTP请求,窃取或修改用户敏感信息。
成本非常低,比如一个假的中奖链接。
inject注入
- SQL注入