您知道哪些重要的 WordPress 安全问题?

已发表: 2022-03-04

WordPress 是全球最受欢迎的内容管理系统 (CMS),为当今所有网站的三分之一以上提供支持 它的受欢迎程度也使其成为网络攻击的一个有吸引力的目标,并且它也存在安全漏洞。

虽然 WordPress 可能有其自身的安全问题,但它并不是网络犯罪分子所针对的唯一平台,窃取数据成为一项非常有利可图的业务。 从个人博客到大型商业网站,没有人能免受恶意行为者带来的潜在威胁。 无论您的网站是小型博客还是大型企业,您都需要知道如何保护您的网站,无论其目的如何。 最重要的应该是安装 UpdraftPlus 备份插件——世界上最受欢迎和评价最高的备份插件。 如果您发现自己成为攻击的受害者,您至少可以高枕无忧,因为您知道自己拥有安全备份以恢复您的网站。

以下是您应该了解的一些 WordPress 安全问题以及如何解决它们;

1.插件系统

使 WordPress 如此受欢迎的部分原因在于它的模块化。 借助插件系统,您可以快速轻松地扩展基本功能。 不幸的是,并非所有插件都是按照 UpdraftPlus 的高标准创建的,有些插件可能会给您的 WordPress 网站带来新的漏洞。

例如,“PWA for WP & AMP”插件将超过 20,000 个 WordPress 网站暴露在访问控制漏洞中。 由于允许任意文件上传,攻击者可以远程执行代码并接管运行此插件的网站。 用户应该注意此示例中的两件事。 首先是尽可能限制在您的 WordPress 网站上使用的插件数量。 第二个是确保您的所有应用程序(包括插件和 WordPress 版本)定期更新。 更新有时会添加新功能,但其主要目的是解决新发现的漏洞。

2. SQL注入攻击

数据是一种新的高价值商品,攻击者瞄准网站的一个原因是窃取数据库中的信息。 SQL 注入是一种流行的方法,攻击者将 SQL 命令嵌入可能危及敏感信息的网站上。

如果您想知道这是如何发生的,请考虑一下您在许多 WordPress 网站上可以找到的平均表单。 它允许用户提供诸如用户名和密码等信息以进行登录。 如果攻击者在这些字段中插入 SQL 代码,底层数据库可能会处理该代码并执行意外操作。 有几种方法可以防止 SQL 注入攻击,但最常见的是实施严格的输入验证。 例如,您可以将以下代码添加到您的 .htaccess 文件中,以确保从 SQL 查询中排除所有输入;

# 启用重写引擎

重写引擎开启

重写规则 ^(.*)$ – [F,L]

# 阻止 MySQL 注入

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(..//?)+ [OR]

RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]

RewriteCond %{QUERY_STRING} =PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4} -[0-9a-f]{12} [NC,OR]

RewriteCond %{QUERY_STRING} (../|..) [OR]

RewriteCond %{QUERY_STRING} ftp: [NC,OR]

RewriteCond %{QUERY_STRING} http: [NC,OR]

RewriteCond %{QUERY_STRING} https: [NC,OR]

重写条件 %{QUERY_STRING} =|w| [NC,或]

RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]

RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C).*iframe.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]

RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]

RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>).* [NC,OR]

RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]

RewriteCond %{QUERY_STRING} (./|../|…/)+(motd|etc|bin) [NC,OR]

RewriteCond %{QUERY_STRING} (localhost|loopback|127.0.0.1) [NC,OR]

RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]

RewriteCond %{QUERY_STRING} concat[^(]*( [NC,OR]

RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]

RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]

RewriteCond %{QUERY_STRING} (sp_executesql) [NC]

重写规则 ^(.*)$ – [F,L]

3. 跨站脚本攻击

XSS 攻击的工作原理(来源:Imperva)

与 SQL 注入攻击一样,跨站点脚本 (XSS) 尝试将恶意代码注入易受攻击的网站。 一个例子是发布信息,将网站用户引导至另一个网站,然后试图窃取个人数据。 这种情况可能具有潜在危险,因为其他网站甚至可能不需要用户的输入。 它可以简单地扫描用户识别数据,例如 cookie、会话令牌等。

您通常可以使用 Web 应用程序防火墙 (WAF) 来防止 XSS 攻击。 这个有用的工具允许您阻止网站上的特定流量。 大多数顶级 WordPress 安全插件,如All In One WP Security & Firewall都将提供此功能。 如果您更愿意专注于运行您的 WordPress 网站并希望将安全性留给专家,那么One WP Security & Firewall是一种很好的方式。 它不仅可以帮助您阻止大多数类型的攻击,还可以扫描您的 WordPress 网站以查找您可能不知道的漏洞。

4.蛮力攻击

WordPress 使用允许管理员和其他授权用户访问其控制功能的凭据系统。 不幸的是,许多用户倾向于使用弱而明显的密码。 蛮力密码利用脚本进行持续和多次登录尝试到 WordPress 站点,直到成功。 该脚本适用于包含常用用户名和密码(例如 Admin 和 Password1)字典的数据库,希望您选择其中一种组合而不考虑风险。

但是,您可以做几件事来限制暴力攻击的有效性;

  • 使用复杂且唯一的密码
  • 阻止访问 WordPress 管理目录
  • 添加两因素身份验证 (2FA)
  • 禁用目录浏览
  • 限制登录尝试次数

5.分布式拒绝服务攻击

DDoS 攻击试图通过大量模仿访问者流量的请求来克服网站。 (来源:dnsstuff)

分布式拒绝服务 (DDoS) 攻击包含大量针对网站的请求。 这种洪水旨在破坏网站,使其无法应对常规访问者的请求量。 虽然 DDoS 并非 WordPress 独有,但基于此 CMS 的网站可能特别容易受到攻击,因为它需要比常规静态网站更多的资源来处理请求。 然而,要防范确定的 DDoS 洪水是不可能的,但即使是最知名的组织也已屈服于这些攻击。 其中一个例子是2018 年的 GitHub 攻击,其中他们的网站遭受了 20 分钟的 DDoS 洪水攻击。

通常较小的网站不是如此庞大数量的目标。 但是,要缓解较小的 DDoS 波,请确保使用内容分发网络 (CDN)。 这些服务器网络可以帮助平衡传入负载并帮助更快地提供内容。

6.跨站请求伪造攻击

跨站点请求伪造 (CSRF) 攻击是攻击者强制 WordPress 等 Web 应用程序识别虚假身份验证的另一种方式。 WordPress 尤其容易受到攻击,因为这些网站通常拥有许多用户凭据。 CSRF 攻击在很多方面与前面讨论的 XSS 攻击相似。 主要区别在于 CSRF 需要身份验证会话,而 XSS 不需要。 无论如何,最终目的是将访问者转移到另一个位置以窃取数据。

在大多数情况下,CSRF 预防需要在插件级别实现。 开发人员通常使用反 CSRF 令牌将会话与特定用户联系起来。 WordPress 网站所有者只能依靠插件更新和一般网站加固技术来帮助防止 CSRF 攻击。

一些可能有效的强化措施包括:

  • 禁用文件编辑器
  • PHO 执行的目标块
  • 2FA实施

关于 WordPress 安全问题的最终想法

有时有一种误解,认为 WordPress 是一个高度易受攻击的 Web 应用程序。 然而,这并不是一个完全公平的说法。 部分原因在于 WordPress 的广泛使用,但更重要的原因是网站所有者未能采取必要的适当预防措施。

我们经常认为安全是理所当然的,而不考虑选择简单密码的后果。 然而,网站所有者不仅要对其网站的完整性负责,还要对其用户数据的安全负责。

作者简介

Pui Mun Beh 是WebRevenue的数字营销人员

帖子您知道哪些重要的 WordPress 安全问题? 首次出现在 UpdraftPlus 上。 UpdraftPlus – WordPress 的备份、恢复和迁移插件。