XSS 跨站脚本漏洞严重吗?应如何整改?

月光下的足球 2023-8-21  安全   661

上周大数据部门的人来我单位检查网络安全与数据安全工作开展情况,并且带了两个技术人员对我单位的信息系统做了安全扫描和渗透测试。其中有一个高危漏洞,隐患类型写了:XSS 跨站脚本攻击。
漏洞描述:恶意 JavaScript 可以访问与网页其余部分相同的所有对象,包括访问 cookie 和本地存储(通常用于存储会话令牌)。如果攻击者可以获取用户的会话 cookie,则他们可以冒充该用户。此外,JavaScript 可以读取向用户显示的页面内容并进行任意修改。因此,XSS 与一些巧妙的社会工程技术相结合,为攻击者带来了很多可能性。
整改建议:对页面上呈现的用户输入应用上下文相关编码和/或验证。

看得一头雾水,有人能详细介绍下这个漏洞的相关情况吗?

3 个回答
  • 木马猎人 2023-8-21
    2
    早期的软件系统架构采用“客户端-服务器(C/S)”模式较多,随着浏览器技术和通信网络技术的发展,“浏览器-服务器(B/S)”模式逐渐变得主流。一般,采用B/S模式的软件系统被称为Web应用。Web应用程序是基于因特网技术开发的完成指定功能的Web组件,通过浏览器将服务提供给用户。Web组件主要由客户端的Web浏览器、Web服务器、中间件服务器和数据库服务器组成。

    现在,大部分Web应用具有较好的用户交互性,其中功劳最大的便是Java Script语言。Java Script可以在页面中添加动态效果、响应浏览器的事件,对用户输入的数据进行检验,是使用最广泛的客户端脚本语言。一般Web应用程序开发者会使用一对“<script></script>”标签将脚本引入或直接写入到HTML页面中,客户端的浏览器直接解释执行Java Script脚本语言,供用户查看操作。

    Web应用是黑客最早攻击,也是目前漏洞最普遍的领域之一。Web应用的场景丰富,涉及的内容多变且复杂,前后端的各种安全问题层出不穷,如跨站脚本、SQL注入和跨站请求伪造等,都严重威胁到了正常的业务服务。

    跨站脚本是Web应用中较为典型的一种漏洞,出现次数连年居高不下。2018年12月,中国信息安全测评中心公布的“国家信息安全漏洞库”统计数据显示,在所有类型的漏洞中,该漏洞的占比为13.57%,排名第2。而2021年12月最新发布的数据显示该漏洞依然排名第2,占比为11.56%。跨站脚本漏洞攻击在许多社交网络等领域都曾大规模爆发过,影响极其恶劣。

    跨站脚本攻击是攻击者在Web页面中插入恶意的Java Script脚本代码,该恶意脚本在浏览器中被解释执行从而达到攻击的目的。跨站脚本漏洞常被称为XSS(Cross-site Scripting)漏洞。其中,Scripting(脚本)指的就是前端Java Script脚本。因此,XSS漏洞是客户端的Web应用安全漏洞,与后端服务器无关,主要面向用户层。

    XSS漏洞主要对用户和Web应用产生危害。在用户层面,XSS攻击可以记录浏览中的用户操作;可以窃取用户的Cookie、劫持会话,导致用户的身份被伪造使用;可以进行网络钓鱼,诱骗用户提供银行卡密码、手机号和身份证号等关键个人信息。在Web应用层面,XSS攻击可以篡改网页;可以投放广告,重定向到其他网站以提高其流量,从而赚取利益;还可以通过反射型XSS和存储型XSS的联合使用制造XSS蠕虫,进行快速自动化传播,引起大范围的恶性攻击。
    3 回复引用 引用
  • 小何同志 2023-8-21
    3

    根据XSS的工作特性,主要可以分为三种类型:反射型XSS、存储型XSS和DOM型XSS。反射型XSS是所有XSS中漏洞最多的类型,恶意脚本代码只在用户点击时触发,执行一次,常被称为“非持久型XSS”;存储型XSS危害性较大,恶意脚本代码会被存储到服务器的本地文件或数据库中,常被称为“持久型XSS”DOM型XSS恶意脚本代码被注入到文档节点中,本质上属于“非持久型XSS”。

    反射型XSS、存储型XSS和DOM型XSS的基本原理、攻击过程和实现方法都不相同。对不同类型的跨站脚本漏洞进行分析研究,有助于理解不法分子的攻击方式,以采取更好的防护措施。

    1. 反射型XSS

    反射型XSS攻击指攻击者在页面中插入恶意Java Script脚本,该脚本随着HTTP/HTTPS请求数据一起发送给后端服务器,服务器对其进行响应,浏览器接收响应后将其解析渲染。恶意脚本的执行路径为“浏览器-服务器-浏览器”,浏览器中的恶意脚本发送到服务器,服务器直接对应资源返回浏览器中解析执行,整个过程类似于反射。

    反射型XSS一般将包含恶意脚本的页面链接进行编码,伪装成特定的样式诱惑用户点击,在用户点击时触发恶意脚本的执行。不过,反射型XSS的恶意脚本只执行一次。攻击者向正常用户发送包含恶意Java Script脚本的链接,该链接会进行URL编码,或者生成短链接等,链接会被封装得具有迷惑性,引诱用户点击;用户点击该链接后,会向服务器发送页面请求;后端服务器收到请求后,对其响应返回恶意Java Script脚本的页面;客户端的浏览器解析执行页面的恶意脚本并中招,达到攻击者的目的,使反射型XSS攻击得以实现。

    反射型XSS常用于Cookie的窃取,可借助于页面中的输入框,嵌入Java Script脚本,在浏览器界面中直接弹出当前页面的Cookie值;也可借助网络测试攻击工具进行远程监听,通过URL的参数将页面的Cookie反弹到监听服务器对应的端口。

    2. 存储型XSS

    存储型XSS攻击指攻击者在Web服务器的本地文件或对应的数据库中插入恶意Java Script脚本,在正常用户发送相关页面的HTTP/HTTPS请求数据时,恶意脚本被发送到浏览器进行解析执行。由于恶意脚本是被永久性地存储在服务器端的,返回的每个正常用户页面都会包含该脚本,因此用户每访问一次页面,恶意脚本就会执行一次。

    存储型XSS不需要引诱用户点击链接,所有访问含恶意脚本页面的用户都会受到攻击,包括管理员用户。存储型XSS是最为广泛存在的一种XSS漏洞。攻击者首先会构造恶意Java Script脚本,将其存储到Web服务器的文件中,或者存储到数据库中,将其永久性地保存在Web应用后端;用户正常登录网站浏览页面,但是当访问含恶意脚本的页面时,就会向Web服务器发出对应的HTTP/HTTPS请求;后端服务器收到请求后,对其响应返回恶意Java Script脚本的页面;客户端的浏览器解析执行页面中的恶意脚本。每发送一次页面请求,以上步骤都会重复一遍,以实现存储型XSS攻击,导致网站的危险系数变高。

    存储型XSS常见于文章发表、评论区、留言板等处,攻击者利用网站的这些功能将恶意Java Script脚本存储到后端Web服务器或数据库服务器中。当正常用户访问相应页面时,就会受到XSS攻击,被窃取Cookie、获取后端服务器地址等。

    3. DOM型XSS

    DOM型XSS攻击指攻击者直接对页面DOM(Document Object Model,文档对象模型)的节点进行修改,将恶意Java Script脚本嵌入到节点的属性、触发事件等内容中,直接由浏览器解析执行。

    DOM型XSS是纯客户端的XSS漏洞,与后端服务器没有任何交互。一般来说,攻击者通过URL中的参数进行恶意脚本触发,其攻击原理与反射型XSS类似。

    不同类型的跨站脚本攻击具有不同的属性。反射型XSS和DOM型XSS需要将包含恶意脚本的URL发送给用户,诱惑其去点击才会触发脚本的执行,而存储型XSS则会让所有访问包含恶意脚本页面的用户都受到攻击;反射型XSS和存储型XSS都有客户端和服务器共同参与,而DOM型XSS是纯客户端行为;反射型XSS和DOM型XSS都是单次触发的,而存储型XSS是持久性的,每次访问都会触发。联合利用不同类型的XSS漏洞,会引发不同的攻击方式,需要结合具体的应用场景和业务需求对其进行防范。


    跨站脚本漏洞在Web应用中存在范围广,危害性较大。对跨站脚本攻击的原理进行分析,研究不同类型XSS的工作过程,有助于更好地对XSS攻击做出防护,是非常必要且有意义。

    4 回复引用 引用
  • 野溜小子 2023-8-21
    4
    我来说说大致的防护思路。

    在XSS漏洞渗透测试过程中,一般会确认输入点,再确认输出点,再进行Java Script脚本测试。究其原因,XSS漏洞主要是因为对输入输出的控制不足,导致恶意的Java Script脚本代码被解析执行。因此,对输入的过滤和输出的检验是防御跨站脚本攻击最直接的方法。

    对输入的过滤主要是指对用户输入的参数进行检查,将敏感字符过滤处理,如“<”“>”“script”等字符。对输出的检验主要是指严格限制页面的输出内容,对关键字符的输出进行转换,如对URL中的“&”“%”“\”进行编码,对输出的HTML标签进行转义等。

    W3C提出的CSP(Content Security Policy,内容安全策略)也可在一定程度上防御XSS攻击。用户发送HTTP/HTTPS请求时,服务器对其进行响应,返回响应的数据包。CSP的防护就是指在服务器返回的数据包头部加一个Conten-SecurityPolicy选项,该选项定义了访问资源的域名白名单。只要在该名单中,就可以进行资源的访问。如果不在,说明浏览器没有被授权,禁止访问,从而有效防止XSS攻击的发生。
    3 回复引用 引用
    • 探知网
      5
        立即登录 立即注册
返回
发新帖