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 用戶。
