ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

web安全 - XSS类型

2022-09-08 22:01:03  阅读:207  来源: 互联网

标签:XSS 存储 Dom 恶意代码 web 类型 服务端 客户端


1. 传统分类

  • 反射型XSS (Reflected XSS)
    当web应用在搜索结果,错误消息或其他响应返回用户输入时,就会发生反射型XSS。最常见的做法
    是攻击者利用web应用的xss漏洞,构造一个url,通过邮件短信等方式诱导用户点击,当请求发出后,
    web应用返回url中隐藏的恶意代码,并在用户浏览器中执行,从而发生发射型XSS。

  • 存储型XSS (Stored XSS)
    当web应用未对用户输入进行安全校验时,恶意代码可能会被输入并存储到服务器的数据库,当其他用户
    浏览相关页面时,恶意代码就会从数据库中取出,并发送到用户浏览器中进行执行,从而形成多用户,
    持久性的攻击,从而形成存储型xss。

  • 基于Dom的XSS (Dom Based XSS)
    数据源在Dom中,接收器也在Dom中,数据流不会离开浏览器。数据源可能是页面的URL,也可能是HTML
    的一个元素,最常见的是来自ajax请求返回响应数据。 而接收器则是一个敏感的方法调用, 比如
    Element.innerHTML, document.write, eval等它会导致 执行恶意的数据。

2. 新分类

  • 服务端XSS (Server XSS)
    当恶意代码包含在服务器生成的HTTP响应中时,就会发生服务端XSS。此恶意代码数据可能来自请求,
    也可能来自数据库存储,因此服务端XSS,即可能包含反射型XSS,也可能包含存储型XSS。
    这种情况,整个漏洞都在服务端代码中,浏览器只是响应并执行嵌入其中的任何有效脚本。

  • 客户端XSS (Client XSS)
    当使用不受信任的用户提供的数据通过不安全的javascript调用更新Dom时,就会发生客户端XSS。
    此数据的来源可能来自Dom,也可能是服务器发送的。数据的最终来源可能来自请求,或者来自客户端
    或服务器上的存储位置。因此客户端XSS可能具有反射型XSS,也可能包含存储型XSS。基于Dom的XSS只是
    客户端XSS的一个子集,其数据源来自于Dom中的某个位置而不是服务器。

  • XSS 分类矩阵
    | XSS | 服务端 | 客户端 |
    |-----|-----|-----|
    | 存储型 | 服务端存储型XSS | 客户端存储型XSS |
    | 反射型 | 服务端反射型XSS | 客户端反射型XSS |

  • 服务端XSS防御
    服务端XSS是由在HTML响应中包含不受信任的数据引起的,因此在大多数情况下,针对服务端XSS
    最简单和最强的防御是:上下文相关的服务器端输出编码。(HTML实体编码,javascript编码,url编码)

  • 客户端XSS防御
    当使用不受信任的数据通过不安全的javascript调用更新Dom时,会导致客户端XSS。针对客户端XSS最
    简单和最强的防御是:使用安全的javascript API。

    如果某个javascrpt API 是不安全的(eval ), 则建议找到替代的安全方法来使用(JSON.parse).
    如果由于某种原因无法使用安全的替代方法,则可以在浏览器中完成上下文相关的输出编码,然后将
    该数据传递给不安全的javascript 方法。

标签:XSS,存储,Dom,恶意代码,web,类型,服务端,客户端
来源: https://www.cnblogs.com/xiaodi-js/p/16670983.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有