WordPress SQL 注入:防止攻击的工具和技术
已发表: 2020-09-24
SQL 注入曾经是一种广泛使用的黑客技术来操纵 WordPress 数据库。 如今,跨站脚本 (XSS) 很流行,并已成为入侵 WordPress 网站的首选方法。
在本指南中,我将介绍 WordPress SQL 注入的基础知识以及如何摆脱它。 在下一部分中,我将介绍跨站点脚本。 让我们开始吧!
- 什么是 SQL 注入?
- SQL 注入攻击的入口点
- 为什么 SQL 注入攻击很常见?
- SQL注入如何工作?
- 在 WordPress 中防止 SQL 注入的方法
- Tip#1 扫描 SQL 注入漏洞
- 提示#2 更新,更新,更新!
- 提示#3 WordPress 主题和插件
- 提示#4 使用可信表单插件
- 提示#5 隐藏 WordPress 版本
- 提示#6 更改数据库前缀
- 提示#7 始终进行备份
提示#8 保留日志 - 技巧#9 使用防火墙
- Tip#10 删除不必要的数据库功能
- 常见问题
- 最后的话!
什么是 SQL 注入?
SQL注入是后端编码漏洞的结果。 攻击者可以通过插入可执行 SQL 命令的恶意代码轻松滥用输入字段,并可以创建、检索、更新甚至删除数据库中的数据。
SQL 是结构化查询语言的缩写,结构化查询语言是 Web 开发中最广泛使用的数据库语言。 以下是使用 SQL 的少数最流行的数据库引擎。
使用 SQL 的数据库
我们在市场上有很多可用的数据库软件。 流行的包括:
- 甲骨文
- MySQL
- 数据库服务器
- PostgreSQL
- MongoDB 等
如您所见,MySQL 是列表中的第二个。 仅使用 SQL 的 WordPress 贡献了超过 35% 的 WWW,成为攻击者最有吸引力的目标。

SQL 注入攻击的入口点
所有输入字段都被认为是 SQL 注入攻击最常见的入口点。 用外行的话来说,我们可以说:
- 报名表格
- 登录表单
- 联系表格
- 网站搜索
- 反馈字段
- 购物车
为什么 SQL 注入攻击很常见?
这可能有多种原因,但是,这里是我在编写指南时记得的最常见的原因。
- 大多数网站数据库都是基于SQL的
- WordPress – 使用最广泛的 CMS 使用 SQL 作为数据库
- 几乎所有网站都有输入字段来收集访问者的信息
- 所有网站都至少有一个 SQL 注入入口点
- SQL 注入扫描工具可在线获取
- 它不需要任何技术复杂性来利用
SQL注入如何工作?
例如,您有一个联系我们表格,需要在其中输入电话号码。 应该有某些标准,例如只能以正确的格式输入有限的数字。
大多数不知道输入验证的开发人员可能会将此字段设置为纯文本,这意味着您可以输入任何可能是恶意代码的字符串。 通过使用一些更改过的 SQL 查询,可以请求管理员用户名和密码。
WordPress SQL 注入示例
您可以通过简单的 Google 搜索找到许多 SQL 注入漏洞。 但是,今天,让我分享一个现实生活中的例子:只需要看看游戏行业。 碰巧的是,许多 SQL 注入攻击都集中在视频游戏上,这是周围规模最大、利润最高的行业之一。
此外,过去黑客还攻击了个人网站,包括博客、电子商务商店和一些最大的企业。
它发生了很长时间,2017 年 9 月报告了 WordPress 中的另一个漏洞示例。 WordPress Core 没有直接受此漏洞影响,但是,发布了一个补丁 (WordPress 4.8.3) 以防止其影响 WordPress 插件和主题.
上述漏洞背后的人安东尼·费拉拉 (Anthony Ferrara) 撰写了一份关于 WPBD SQL 注入、它如何影响 WordPress 站点以及每个 WordPress 用户的预防措施的详尽指南。
没有万无一失的方法来保护 WordPress 网站。 事实上,即使是 WordPress 安全插件在过去也受到了影响。 2014 年,最流行的安全插件之一展示了两个允许 SQL 注入的漏洞。
在 WordPress 中防止 SQL 注入的方法
如前所述,没有办法完全摆脱黑客攻击。 但是,可以最大限度地降低被黑客入侵的风险。 以下是一些有助于防止此类攻击的最常见做法。
寻找更好的性能和安全性?
以零成本将您的 WooCommerce 网站迁移到 Cloudways。
Tip#1 扫描 SQL 注入漏洞
您可以找到许多在线工具来扫描您的 WordPress 网站。 我列出了最受好评的名单,您只需输入 WordPress 网站 URL 并开始扫描已发现的漏洞。
- WordPress 安全扫描 – 检查 WordPress 站点上的基本漏洞。 高级扫描可通过高级升级获得。
- Sucuri SiteCheck – 可以检查您的 WordPress 网站是否存在已知恶意软件、黑名单状态、错误以及您的网站是否已过期。
- WPScan – 一种免费供个人使用的自托管漏洞扫描程序。 您还可以获得用于商业用途的付费许可证。
通过运行扫描报告,您可以准确了解需要关注哪些领域以提高 WordPress 安全性。

提示#2 更新,更新,更新!
对每个 WordPress 用户来说都是最重要的! 保持一切更新,包括 WordPress 核心、主题和插件。
WordPress 核心
根据官方 WordPress 统计数据,只有29.3%的 WordPress 网站使用最新版本 (5.5.x)。 所有以前的版本都可能容易受到攻击,并可能导致被黑客入侵。 在上面的 SQL 注入漏洞示例中,您可以看到,所有低于最新版本的站点都容易受到发现的漏洞的攻击。 如果您的网站遭到黑客入侵,我希望您知道谁将对此负责!

PHP 版本
PHP,WordPress 的后端在过去几年中得到了很大的改进。 已经进行了许多补丁和面向性能的更改。 但是,仍然有超过23%的 WordPress 用户使用 PHP 7.2 ,这可能是 WordPress 中 SQL 注入的因素之一。 PHP的最新版本是7.4
注意:如果您的 WordPress 主机不支持最新版本的 PHP,是时候将主机立即切换到支持最新版本 PHP 的托管 WordPress 主机了,例如 Cloudways。

提示#3 WordPress 主题和插件
大多数漏洞(包括 WordPress 中的 SQL 注入)是在插件和主题中发现的,而不是 WordPress 核心。 密切关注更新、修复并相应地进行调整。
如果主题和插件没有定期更新,这可能是您的 WordPress 网站上的一个问号。 始终使用经常更新的主题/插件。
注意:在执行更新之前,请检查 WordPress 核心、主题和插件之间的兼容性,以确保您的站点正常运行。 要进行测试,您可以复制您的实时网站,然后检查 WordPress 登台环境中的兼容性。
提示#4 使用可信表单插件
如果您经营一家企业或什至是一个简单的博客,您必须了解注册表、登录表单、联系表单等表单的重要性。 WordPress 存储库中有许多可用的插件,很难找到最好的。 因此,为了缩小您的搜索范围,我们编制了一份最佳 WordPress 表单插件列表。
注意:在选择任何插件之前,不要忘记检查以前发现的漏洞及其解决方案。
提示#5 隐藏 WordPress 版本
始终建议不要公开显示 WordPress 版本。 公开这些信息可以使攻击者更容易利用特定版本上的已知漏洞。
要隐藏 WordPress 版本,只需将代码行下方复制并粘贴到活动主题的functions.php文件中。
remove_action('wp_head', 'wp_generator');
提示#6 更改数据库前缀
安装 WordPress 时,默认情况下,数据库前缀设置为“ wp_ ”。 大多数 WordPress 用户忽略并使用默认设置进行安装。 使用 SQL 注入技术来猜测数据库表变得更容易。
不用担心,如果您已经安装了 WordPress。 有一个关于如何在 WordPress 中更改数据库前缀的优秀指南。
提示#7 始终进行备份
备份可能与 SQL 注入没有直接关系。 但是,它可以帮助您恢复被黑网站。 WordPress 备份可以通过两种方式存储:
- 本地备份:自动和/或手动生成的备份,位于您的托管服务提供商处。 如果您使用共享主机,则不建议保留本地备份,一旦服务器受到威胁,您也可能会丢失备份。 但是,如果您的服务器像 Cloudways 一样得到妥善管理,那么您可以为 WordPress 保留本地备份。
- 异地备份:将生成自动和/或手动备份并将其发送到所需的异地存储位置,如 Google Drive、Dropbox、Amazon S3 等。我们编写了一份详尽的 WordPress 网站备份指南。
提示#8 保留日志
Sucuri 的联合创始人 Dre Armeda 曾经说过:
人们现在并将继续成为 WordPress 最大的安全问题。
这意味着,您必须尽自己的一份力量。 密切关注变化,您应该记录 WordPress 网站上发生的一切。 它将帮助您跟踪您和/或攻击者所做的更改,以便您可以采取相应的行动。
有一个优秀的 WordPress 安全审计日志插件,一定会帮到你! 此外,您的托管服务提供商还会保留所有内容的日志。 偶尔继续阅读日志。
技巧#9 使用防火墙
最好和重要的事情之一是使用防火墙来确保客户数据的安全和受到保护。 除此之外,您还可以根据订阅的套餐等不同因素来定义访问用户的级别。 如果您使用的是 Cloudways,则无需担心。 所有 Cloudways 托管服务器都受到操作系统级防火墙的保护,可以过滤掉恶意流量并阻止入侵者。
Tip#10 删除不必要的数据库功能
删除数据库不必要的数据库功能和内容的最有效技术之一。 它越容易受到潜在的 SQL 注入攻击。 为了防止这种情况,请规范化您的数据库并使您的网站更好更智能。
常见问题
问:什么是 SQL 注入?
A: SQL注入是后端编码漏洞的结果。 攻击者可以通过插入可执行 SQL 命令的恶意代码轻松滥用输入字段,并可以创建、检索、更新甚至删除数据库中的数据。
问:什么是 WordPress SQL 注入示例?
A:这已经发生了很长时间,2017 年 9 月报告的另一个 WordPress 漏洞示例。WordPress Core 没有直接受此漏洞影响,但是发布了一个补丁 (WordPress 4.8.3) 以防止其影响 WordPress 插件和主题。
问:SQL 注入有什么作用?
答: SQL 注入是操作 WordPress 数据库的最基本和最广泛使用的黑客技术。 如今,跨站脚本 (XSS) 很流行,并已成为入侵 WordPress 网站的首选方法。
最后的话!
如前所述,没有万无一失的方法来保护 WordPress 网站。 总是有可能被黑客入侵,这可能是因为核心、主题和插件中的漏洞。 这就是为什么总是建议更新的原因! SQL 注入在过去几年中得到了很多控制。
如果您遇到过任何类型的 WordPress SQL 注入攻击,请分享您的经验以及如何摆脱它。 我相信它会帮助其他 WordPress 用户。
