使用技巧

跨站点脚本(XSS):它是什么以及如何修复?

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

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

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

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

跨站点脚本XSS攻击

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

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

JavaScript是一种编程语言,可让您在网站上实现复杂的功能。 网络上大多数大型且互动的网站都是使用JavaScript构建的。 “您可以开发现场互动功能,游戏,或添加其他功能以更好地营销您的产品,” 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漏洞的用户提供补偿或认可。 通过这种方式,公司通过让其他开发人员识别其错误来投资网络安全。 Google甚至推出了 游戏 您可以在其中调度XSS错误。

XSS Google游戏

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的特定元素。

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

最好的WordPress安全插件

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

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

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

安装安全性插件

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

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

安装专用的插件

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

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

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