【XSS漏洞01】XSS漏洞概述与分类

目录

  • 1 XSS漏洞简介
  • 2 XSS漏洞分类
    • 2.1 反射型XSS
    • 2.2 存储型XSS
    • 2.3 DOM型XSS
      • 2.3.1 节点树模型
      • 2.3.2 DOM型XSS
  • 3 危害
  • 4 总结
  • 参考文献

1 XSS漏洞简介

  1. 定义:跨站脚本(Cross-Site Scripting),本应该缩写为CSS,但是该缩写已被层叠样式脚本Cascading Style Sheets所用,所以改简称为XSS。也称跨站脚本或跨站脚本攻击。
  2. 本质:是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种 。
  3. 原理:跨站脚本攻击XSS通过将精心构造的代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果,当用户访问该网页时,XSS脚本就会被提取出来,浏览器解析这段XSS代码,用户就已经被攻击了。
  4. 特点:XSS主要基于JavaScript完成恶意的攻击行为,由于JS可以非常灵活地操作html、css和浏览器,使得跨站脚本攻击的“想象”空间特别大。
  5. 攻击对象:被攻击者的浏览器。
  6. 一般的攻击过程:
    1. 攻击者将恶意代码注入到服务器中(如论坛、留言板、邮件等);
    2. 用户在没有防备的情况下访问了服务器;
    3. 服务器将含有恶意代码的网页响应给客户端;
    4. 在客户端浏览器中触发JS恶意代码。

2 XSS漏洞分类

2.1 反射型XSS

  1. 定义:反射型XSS又称非持久型XSS。
  2. 特点:这种攻击方式往往具有一次性。
  3. 攻击方式:攻击者通过电子邮件等方式将包含xss代码的恶意链接发送给目标用户。当目标用户访问该链接时,服务器接收该目标用户的请求并进行处理,然后服务器把带有xss代码的数据发送给目标用户的浏览器,浏览器解析这段带有xss代码的恶意脚本后,就会触发xss漏洞。

2.2 存储型XSS

  1. 定义:存储型XSS又称持久型XSS。
  2. 特点:攻击脚本将被永久地存放在目标服务器的数据库或文件中,具有很高的隐蔽性。
  3. 攻击方式:这种攻击多见于论坛、博客和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永久地被存放在服务器的后端存储器中 。 当其他用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行 。
  4. 反射型与存储型SCC对比:
    如果我们能够谨慎对待不明链接,那么反射型XSS攻击将没有多大作为,而存储型XSS则不同,由于它注入在一些我们信任的页面,因此无论我们多么小心,都难免会受到攻击。

2.3 DOM型XSS

2.3.1 节点树模型

  1. DOM全称Document Object Model,使用DOM可以使程序和脚本能够动态访问和更新文档的内容、结构及样式 。
  2. HTML 的标签都是节点,而这些节点组成了 DOM 的整体结构一一节点树。通过HTML DOM,树中的所有节点均可通过JavaScript进行访问 。 所有HTML元素(节点)均可被修改,也可以创建或删除节点 。
    【XSS漏洞01】XSS漏洞概述与分类_第1张图片

2.3.2 DOM型XSS

  1. 定义:DOM型XSS其实是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞 。
  2. 网页的生成及修改:
    1. 在网站页面中有许多元素,当页面到达浏览器时,浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件 。
    2. 可以通过JS脚本对文档对象进行编辑,从而修改页面的元素 。 也就是说,客户端的脚本程序可以通过DOM动态修改页面内容,从客户端获取DOM中的数据并在本地执行。由于DOM是在客户端修改节点的,所以基于DOM型的xss漏洞不需要与服务器端交互,它只发生在客户端处理数据的阶段。
  3. 攻击方式:用户请求一个经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。 当用户的浏览器处理这个响应时, DOM对象就会处理XSS代码,导致存在XSS漏洞 。

3 危害

恶意用户利用xss代码攻击成功后,可能会得到很高的权限,XSS漏洞主要有以下危害:

  • 盗取各种用户账号;
  • 窃取用户Cookie资料,冒充用户身份进入网站;
  • 劫持用户会话,执行任意操作;
  • 刷流量,执行弹窗广告;
  • 传播蠕虫病毒。
  • 等等

4 总结

  1. 掌握XSS的攻击过程;
  2. 掌握XSS的分类及各类原理;
  3. 了解XSS的危害。

参考文献

  1. 《Web安全攻防:渗透测试实战指南》

你可能感兴趣的:(#,筑基07:WEB漏洞原理,xss,分类,web安全)