Aini99
@Aini99

作为最常见的网络安全威胁之一,跨站点脚本(XSS)在 2019 年攻击了将近 75%的大型公司。此外,几乎所有网络攻击中的 40%都是针对 XSS 漏洞执行的。

跨站点脚本已经影响了由 eBay,Google,Facebook 和 Twitter 等网络巨头运营的网站。但是跨站点脚本编写并不是新的网络威胁。实际上,XSS 攻击几乎是在网络本身诞生之初就出现的。

为了帮助你防止 XSS 攻击,本指南重点介绍了有关跨站点脚本编写所需了解的所有知识。阅读本指南后,你将更好地了解跨站点脚本的工作方式以及如何保护 WordPress 网站。

什么是跨站点脚本(XSS)?

跨站点脚本(XSS)指的是网络攻击的类型,在这种攻击中,恶意脚本被注入到了其他可信且受信任的网站中。

HTML,Flash,ActiveX 和 CSS 中可能会发生跨站点脚本攻击。但是,JavaScript 是网络罪犯最常见的目标,因为它是大多数浏览体验的基础。

JavaScript 是一种编程语言,可让你在网站上实现复杂的功能。网络上大多数大型且互动的网站都是使用 JavaScript 构建的。Zyro 项目的市场经理 Domantas Gudeliauskas 说:“你可以开发现场互动功能,游戏,或添加其他功能来更好地销售产品。”

JavaScript 在网络社区中如此流行,因为它使你几乎可以在网页上进行任何操作。这就是问题所在。网络犯罪分子可以使用 JavaScript 登录到你的网页背面并插入恶意脚本。

跨站点脚本如何工作?

网络罪犯有两种方式在 WordPress 网站上执行 XSS 攻击。他们可以利用用户输入或绕过同源策略。让我们看一下这两种方法,以进一步了解跨站点脚本。

操纵用户输入

网络罪犯执行 XSS 攻击的最常见方式是利用用户输入。大多数 WordPress 网站都有用户输入字段,例如搜索栏,评论表单,登录页面和联系表单。输入字段通常由你网站上启用 JavaScript 的 WordPress 插件或活动主题启用。

问题在于,并非所有的 WordPress 插件和主题都 100%安全,实际上其中许多确实具有 XSS 漏洞。这对你而言意味着,网络犯罪分子可以利用输入字段中的 WordPress 漏洞来运行恶意活动。

理想情况下,站点搜索栏(或任何其他用户输入字段)应仅接受纯文本,而不接受命令作为输入。但是,WordPress 确实有一个用户输入漏洞,它使黑客可以在输入字段中输入执行代码并将其发送到数据库。

绕过相同来源策略

同源策略限制一个页面从其他网页检索信息。根据该策略,仅当第一个网页中包含的脚本共享相同的来源时,才允许第一个网页中包含的脚本访问第二个网页中的数据。这有助于确保没有跨站点请求。

绕过相同来源策略

该政策规定,如果你在同一浏览器中打开 Facebook 页面和网上银行,则这两个网站将无法彼此共享信息。但是,如果你打开了多个 Facebook 选项卡(共享相同的来源),则它们可以彼此交换脚本和其他数据。

尽管采取了同源策略和其他安全措施来防止跨站点请求,但网络犯罪分子已经找到了一种使用会话 cookie 绕过该策略的方法。之所以可以使用该功能,是因为每次你打开浏览器时,它都会生成一个会话 cookie,以验证你是否是网站用户,并帮助你从一个页面平稳地移动到另一页面。

会话 cookie 存储登录凭据(包括你的 WordPress 网站的登录凭据),信用卡信息,货件详细信息以及其他敏感数据。运作方式如下。假设你要登录到网上银行帐户。当你打开网站时,将生成一个会话 cookie。如果不是用于会话 cookie,则每次要切换页面时都必须登录到你的在线银行帐户。

用户浏览器存在漏洞的情况并不少见。而且,如果有的话,网络犯罪分子会使用他们注入用户输入中的代码来窃取会话 cookie。这样,黑客可以窃取在用户浏览器中打开的所有网站的 cookie。然后,这些 cookie 可以用于登录用户的帐户以模拟它们并窃取财务数据。

为什么跨站点脚本很危险?

跨站点脚本是最常见的高风险 WordPress 漏洞之一。XSS 攻击之所以如此普遍,是因为与其他安全漏洞不同,它们很难解决。即使你具有内置保护,也很容易犯下启用跨站点脚本的错误。网页的 HTML 或 JavaScript 中只有一个错误会使你的网站容易受到跨站点脚本攻击。

当攻击者找到利用 XSS 漏洞的方法时,他们可以窃取帐户凭据,财务数据并促进网络钓鱼诈骗。他们还可以传播计算机蠕虫或远程访问用户的计算机。此外,XSS 攻击还使黑客能够执行以下操作:

  • 劫持用户帐户
  • 传播恶意软件
  • 远程控制用户的计算机
  • 扫描和利用 Intranet 应用程序

XSS 攻击通常被认为比 SQL 注入的危险性小。但是,跨站点脚本与社会工程学结合使用时,可使网络罪犯发动高级且极为危险的攻击,包括种植木马,键盘记录,网络钓鱼,身份盗窃和跨站点请求伪造。

为了对抗 XSS 攻击,大型 IT 公司启动了特殊的漏洞赏金计划。这些程序由许多组织实施,并向在脚本中报告 XSS 漏洞的用户提供补偿或认可。这样,公司通过让其他开发人员识别其错误来投资网络安全。

XSS 攻击的类型

跨站点脚本攻击有三种主要类型:反射,存储和基于 DOM 的 XSS。为了更好地了解 XSS 的工作方式,让我们看一下每种类型的 XSS 漏洞。

存储的跨站点脚本

当用户输入存储在数据库,注释字段,访问者日志或其他目标服务器中时,就会发生存储的 XSS 漏洞(也称为 “持久性” 或 “类型 I”)。然后受害者可以从 Web 应用程序检索存储的数据(在浏览器中无法安全渲染)。这样,当黑客进行攻击时,有效载荷对于浏览器的 XSS 过滤器是不可见的,并且受害者在访问受影响的页面时可能会意外触发有效载荷。

反映的跨站点脚本

当 Web 应用程序立即在搜索结果,错误消息或任何其他响应中返回用户输入时,就会发生反射的 XSS 漏洞(也称为非持久性或 II 型)。在这种情况下,用户输入的数据将被反射而不会被存储,从而使黑客能够注入恶意的 XSS 脚本。与存储的 XSS 不同,反射 XSS 的目标是网站本身而不是网站访问者。

基于 DOM 的 XSS

基于 TA DOM 的 XSS 漏洞(aka 类型 0)发生在 DOM(文档对象模型)中,而不是在 HTML 部分中。读取恶意代码的源可以是 URL 或 HTML 的特定元素。

如何防止跨站点脚本攻击?

现在,当你了解了 XSS 基础知识之后,让我们看一下防止 XSS 攻击的行之有效的方法。

有多种方法可以保护 WordPress 网站免受 XSS 攻击。如果你具有高级技术专长,则可以添加代码段来验证和清除用户输入。但是,如果你不熟悉 WordPress 的技术部分,最好将工作委托给技术团队或聘请可以为你采取这些措施的专业人员。

同时,你可以采取两种措施来防止跨站点脚本攻击。

安装安全性插件

安装安全性 WordPress 插件是实现 WordPress 网站最终安全性的第一步。选择安全插件时,请使用此清单作为参考,以确保插件具有确保网站安全所需的功能。

  • 插件会定期扫描你的网站中是否存在恶意软件。
  • 插件使用防火墙阻止任何看似恶意的流量。
  • 插件能够实施 WordPress 强化措施。
  • 插件可让你管理所有 WordPress 更新。
  • 插件会备份你的 WordPress 网站,因此,在受到攻击的情况下,你可以恢复你的网站。

安装专用的插件

安装反 XSS 插件是另一种防止跨站点脚本编写的方法。Anti-XSS 插件通过阻止跨站点脚本攻击中常用的参数来工作。例如,这些插件可以保护用户输入字段,例如你网站的评论表单,登录字段或搜索栏。

最重要的是,所有 WordPress 漏洞中有 39%与跨站点脚本问题有关。公司为了对抗跨站点脚本攻击的后果而损失了数百万美元。为了避免针对你网站的 XSS 攻击,了解什么是跨站点脚本并采取预防措施非常重要。

为了使你的网站免受跨站点脚本的影响,你应该验证并清理输入字段。此外,你可以安装安全性和专用的反 XSS 插件,以帮助你保护 WordPress 网站的安全。

2020 年 08 月 26 日 · 11:58
197
0
0
发表留言

跨站点脚本(XSS)攻击是什么?如何防止跨站脚本攻击?
扫描右侧二维码继续阅读
August 26, 2020
Aini99
by yoniu.

Aini99