Web 开发的安全之旅|青训营笔记

110 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第3天

前言

在Web快速发展的今天,用户的数据已经成为了人们在互联网上最为重要的东西,Web安全也逐渐开始越来越受到开发者们的重视,web安全分为攻击和防御两个方面,今天我从攻击、防御两个视角,简要介绍前端范畴内常见的安全问题,包括 XSS、CSRF、SQL 注入、DOS 等。

攻击篇

1. Cross-site Scripting(XSS)--> 跨站脚本攻击

XSS主要有三种攻击方法

  1. 存储型XSS攻击 比较常见于博客评论,对所有用户可见。 image.png
  2. 反射型XSS攻击 这种方法从url上进行攻击,常出现于用户登录获取用户cookie中 image.png
  3. DOM-based 型XSS攻击 完全发生在浏览器界面,不涉及服务端 image.png

2. CSRF(Cross—Site Request Forgery) --> 跨站点请求伪造

在用户毫不知情的情况下,攻击者利用用户的cookie来向服务器发送特定的请求,从而得到自己想要的数据 image.png

3.injection --> 注入

常见的有SQL注入 image.png

4. Denial of Service(DOS) --> 拒绝服务

通过某种方式(构造特定请求),导致服务器资源被显著消耗, 来不及响应更多请求,导致请求挤压,进而雪崩效应。

防御篇

1. Cross-site Scripting(XSS)--> 跨站脚本攻击

永远不要相信用户提交的数据
现在前后端的主流框架已默认支持防御xss攻击 image.png

2. CSRF(Cross—Site Request Forgery) --> 跨站点请求伪造

利用Origin+Referrer防御 image.png

3.injection --> 注入

image.png

4. Denial of Service(DOS) --> 拒绝服务

不允许用户自己提交正则表达式 image.png

结语

以上只是列举了一些常见的攻击和防御方式,随着技术的不断发展,攻击的方式也在不断地更新迭代,所以我们要一直保持学习的姿态,不断发现攻击,并防御下来。Web安全是我们能够在互联网上畅快的冲浪的前提,所以积极地学习防御方法,做一个不攻击他人网站的好网民也十分的重要!