前端百题斩【42】——两种攻击方式(XSS、CSRF)

452 阅读2分钟

这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战

写该系列文章的初衷是“让每位前端工程师掌握高频知识点,为工作助力”。这是前端百题斩的第42斩,希望朋友们关注公众号“前端点线面”,用知识武装自己的头脑。《前端百题斩(上)》pdf版已出炉了( ^_^ )

12. 两种攻击方式(XSS、CSRF)

面试中常见的攻击方式有两种:XSS、CSRF,下面一起来看看这两种攻击方式。

12.1 XSS

12.1.1 定义

跨站脚本攻击(XSS;Cross Site Scripting) 是指黑客往 HTML 文件中或者 DOM 中注入恶意脚本,从而在用户浏览页面时利用注入的恶意脚本对用户实施攻击的一种手段。

12.1.2 产生的影响

XSS攻击产生的影响主要有:盗取Cookie信息、监听用户行为、修改DOM、在页面内生成浮窗广告等。

image-20210801203139567.png

12.1.3 注入方式

XSS注入方式有存储型XSS攻击、反射型XSS攻击、基于DOM的XSS攻击。

image-20210801203233465.png

12.1.4 什么情况容易发生XSS攻击

容易发生XSS攻击的位置主要有两个:

  1. 数据从一个不可靠的链接进入到一个web应用程序
  2. 没有过滤掉恶意代码的动态内容被发送给Web用户

image-20210801203615476.png

12.1.5 如何组织XSS攻击

组织XSS攻击的方式主要有三种:

  1. 服务器对输入脚本进行过滤或转码;
  2. 充分利用CSP;
  3. 使用HttpOnly属性

image-20210801203703649.png

12.2 CSRF

12.2.1 定义

跨站请求伪造(CSRF;Cross-site request forgery)指的是黑客引诱用户打开黑客的网站,在黑客的网站中,利用用户的登录状态发起的跨站请求

12.2.2 产生影响

产生影响主要有以下几点:

image-20210801204412612.png

12.2.3 攻击原理

clipboard.png

12.2.4 攻击的前提条件

攻击的前提条件主要有以下三点:

image-20210801204503978.png

12.2.5 攻击方式

实施CSRF攻击的方式主要有以下三点:

  1. 自动发起Get请求;
  2. 自动发起POST请求;
  3. 引诱用户点击链接 image-20210801204525665.png

12.2.6 防止CSRF攻击的策略

防止CSRF攻击的策略主要有以下三种:

  1. 充分利用好Cookie的SameSite属性;
  2. 在服务器端验证请求的来源站点;
  3. CSRF Token。

image-20210801204552365.png

1.如果觉得这篇文章还不错,来个分享、点赞吧,让更多的人也看到

2.欢迎关注公众号前端点线面,《前端百题斩》在等你