这是我参与「第四届青训营 」笔记创作活动的第3天
前言
在Web快速发展的今天,用户的数据已经成为了人们在互联网上最为重要的东西,Web安全也逐渐开始越来越受到开发者们的重视,web安全分为攻击和防御两个方面,今天我从攻击、防御两个视角,简要介绍前端范畴内常见的安全问题,包括 XSS、CSRF、SQL 注入、DOS 等。
攻击篇
1. Cross-site Scripting(XSS)--> 跨站脚本攻击
XSS主要有三种攻击方法
- 存储型XSS攻击
比较常见于博客评论,对所有用户可见。
- 反射型XSS攻击
这种方法从url上进行攻击,常出现于用户登录获取用户cookie中
- DOM-based 型XSS攻击
完全发生在浏览器界面,不涉及服务端
2. CSRF(Cross—Site Request Forgery) --> 跨站点请求伪造
在用户毫不知情的情况下,攻击者利用用户的cookie来向服务器发送特定的请求,从而得到自己想要的数据
3.injection --> 注入
常见的有SQL注入
4. Denial of Service(DOS) --> 拒绝服务
通过某种方式(构造特定请求),导致服务器资源被显著消耗, 来不及响应更多请求,导致请求挤压,进而雪崩效应。
防御篇
1. Cross-site Scripting(XSS)--> 跨站脚本攻击
永远不要相信用户提交的数据
现在前后端的主流框架已默认支持防御xss攻击
2. CSRF(Cross—Site Request Forgery) --> 跨站点请求伪造
利用Origin+Referrer防御
3.injection --> 注入
4. Denial of Service(DOS) --> 拒绝服务
不允许用户自己提交正则表达式
结语
以上只是列举了一些常见的攻击和防御方式,随着技术的不断发展,攻击的方式也在不断地更新迭代,所以我们要一直保持学习的姿态,不断发现攻击,并防御下来。Web安全是我们能够在互联网上畅快的冲浪的前提,所以积极地学习防御方法,做一个不攻击他人网站的好网民也十分的重要!