如何修復和防止 WordPress 中的 XSS 攻擊

已發表: 2022-06-14
How to fix and prevent xss attacks

您是否擔心黑客攻擊您的網站?

跨站點腳本,也稱為 XSS,是對 WordPress 站點最常見的攻擊之一。 黑客在您的網站上發現漏洞並利用它們竊取信息並濫用您的網站。

更糟糕的是,如果你不立即修復它,這些黑客攻擊可能會導致更嚴重的損害——這種損害真的很難恢復。

您可以通過在 WordPress 網站上安裝防火牆來防止這些黑客攻擊。

如果您的網站已經受到攻擊,我們將向您展示如何用簡單的初學者友好語言立即修復它。 在本教程中,我們將盡量減少網絡安全術語。 我們還將向您展示如何防止未來的攻擊。

首先,讓我們快速了解 XSS 攻擊中會發生什麼,以便更好地處理它。

什麼是 WordPress 中的 XSS 攻擊?

XSS 代表 Cross Site Scripting,這是一種注入攻擊,黑客將惡意腳本注入網站。

這些腳本偽裝成可信網站上的好代碼。 接下來,當用戶登陸該網站時,他們的瀏覽器會執行所有代碼,包括惡意腳本,因為它認為這些都是受信任的指令。

簡單來說,假設您是一名間諜,並且剛剛收到一封來自政府的關於絕密任務的官方電子郵件。 它包含您需要遵循的所有說明。

你不知道的是,有人截獲了那封電子郵件並添加了一些他們自己的指令。 政府對此一無所知,您不必費心仔細檢查,因為您相信消息來源。

其中一些沒有意義,但你受過訓練,可以服從每一個命令來完成你的使命。

在這種情況下,政府是你的網站,間諜是用戶的瀏覽器。 瀏覽器遵循您網站上的說明,無法區分好腳本和壞腳本。

這些腳本通常使用 Javascript,這是最流行和廣泛使用的編程語言之一。 雖然,這些攻擊可以使用任何客戶端語言進行。

現在有很多方法可以進行 XSS 攻擊。 一種方法是將鏈接發送給毫無戒心的用戶,讓他們點擊它。 一旦他們點擊它,攻擊可能會執行以下一項或多項操作:

  • 將用戶重定向到惡意站點
  • 捕獲用戶的擊鍵
  • 運行基於 Web 瀏覽器的漏洞利用
  • 竊取登錄帳戶的用戶的 cookie 信息

如果黑客能夠竊取 cookie 信息,他們就可以完全破壞用戶的帳戶。 例如,如果您登錄了網站的 wp-admin 面板,黑客可以竊取您的憑據並登錄您的網​​站。

為了防止這些攻擊,您需要做的是確保所有用戶數據在進入您的網站之前都經過正確驗證和清理。 這樣,任何用戶輸入都不會是惡意的 Javascript 代碼。 除此之外,您需要確保您的網站上沒有可以允許黑客攻擊的 XSS 漏洞。

我們幾乎沒有觸及 XSS 攻擊的表面,但我們希望您對 WordPress XSS 攻擊的工作原理有一個不錯的了解。 現在,如果您懷疑您的網站被黑客入侵,請按照下面的簡單分步教程進行操作。

如何在 WordPress 中查找和修復 XSS 攻擊

要在您的網站上查找任何類型的惡意軟件或黑客行為,您需要對整個網站(包括其文件和數據庫)進行深度掃描。

我們將使用 Sucuri 掃描和清理您被黑的網站。 Sucuri 為您提供強大的安全設置,包括防火牆、惡意軟件掃描程序和惡意軟件清理程序。

Sucuri 提供免費的網站惡意軟件掃描程序,您可以通過導航到插件»添加新選項卡將其安裝在您的 WordPress 網站中。

我們建議使用高級服務器端掃描程序。 這會將您的網站徹底翻出來,以找到任何惡意軟件的痕跡。

除此之外,這裡有一些亮點:

  • 監控垃圾郵件和惡意腳本
  • 檢查黑客創建的隱藏後門
  • 檢測對 DNS(域名系統)和 SSL 所做的更改
  • 通過搜索引擎和其他機構檢查黑名單
  • 監控網站正常運行時間
  • 通過電子郵件、SMS、Slack 和 RSS 提供即時警報

有關更多詳細信息,請閱讀我們的 Sucuri 評論。

Sucuri 的價格為每年 199.99 美元。 如果這超出了您的預算,您可以嘗試其他安全插件。 查看我們的列表:比較了 9 個最佳 WordPress 安全插件。

在選擇安全插件時,請確保它為您提供查找和修復惡意軟件感染並保護您的網站所需的所有網絡安全功能。

第 1 步:掃描您的網站

要開始使用,您需要在 Sucuri 註冊一個計劃。 然後,登錄到 Sucuri 儀表板,您可以在其中添加您的站點。

Add site in Sucuri

在這裡,您需要通過輸入您的 FTP 憑據來連接您的網站。 如果您不知道您的 FTP 憑據,您可以從您的網絡主機獲取它們。

Connect site to Sucuri

連接您的網站後,Sucuri 將自動對您的網站進行徹底掃描。 完成後,它將在“我的網站”選項卡下向您顯示詳細報告。

Sucuri dashboard site infected

現在您可以單擊警告消息旁邊的“詳細信息”按鈕。 這將打開監控頁面,您可以在其中查看黑客或感染的詳細信息。

第 2 步:請求惡意軟件清理

監控頁面上,您可以看到哪種惡意軟件感染了您的網站。 Sucuri 添加了一個評級來指示風險級別。 因此,如果這是一個嚴重或高風險,您知道您需要立即修復它。 除此之外,它還會顯示您的網站是否已被任何搜索引擎列入黑名單。

Clean up site with Sucuri

既然您知道您的網站已被感染,您需要對其進行清理,而 Sucuri 讓這對您來說非常容易。 要開始該過程,請單擊“清理我的網站”按鈕。

Malware removal request in Sucuri

在下一頁上,單擊新的惡意軟件刪除請求按鈕,將出現一個表單,您可以在其中輸入站點的詳細信息。

Malware removal request form in Sucuri

只需填寫表格並提交即可。 完成後,Sucuri 的安全專家將為您清理您的網站。 如果您不知道表單所需的任何詳細信息,您可以向您的虛擬主機詢問。

現在您可能想知道清理您的網站需要多長時間。

Sucuri 優先考慮商業計劃中的用戶。 他們保證 6 小時的周轉時間。 對於其他計劃,這取決於您的站點感染的複雜程度以及他們在隊列中的請求量。

攻擊發生後,我們強烈建議立即將所有用戶登出您的站點並更改您的登錄憑據以確保安全。

如何防止對您的 WordPress 網站的 XSS 攻擊

最好保護您的網站並防止對您的網站進行此類惡意軟件攻擊。 這比嘗試修復被黑網站更容易、更便宜。 以下是我們推薦的防止對您的網站進行 XSS 攻擊的主要步驟。

1. 啟用 Web 應用程序防火牆 (WAF)

Sucuri 擁有最適合 WordPress 網站的防火牆之一。 它不僅可以阻止 XSS 攻擊,還可以阻止各種其他惡意軟件攻擊,例如 DDoS、蠻力、網絡釣魚和 SQL 注入。

防火牆將位於您的網站前面並掃描每個通過的用戶。 它將在惡意機器人到達您的站點之前識別並阻止它們。

要啟用 Sucuri 防火牆,請導航到 Sucuri 儀表板上的防火牆選項卡。

選擇您的站點,您將看到可以遵循的設置說明。 Sucuri 為您提供 2 個選項來設置防火牆:

1. 自動集成:只需使用 cPanel 或 Plesk 輸入您的託管憑據。 此方法要求您授予 Sucuri 訪問您網站服務器的權限,以便在您的網站上自動設置防火牆。

Sucuri firewall waf

2. 手動集成:您可以自行設置防火牆,無需授予 Sucuri 內部訪問權限。 要開始,請單擊內部域鏈接並確保它已加載。

check internal domain link

接下來,您可以配置您的 DNS 以將您的網絡流量指向 Sucuri 防火牆。 為此,您需要訪問主機帳戶中的 DNS 記錄。 在這裡,您可以更改站點的“A”記錄並輸入 Sucuri 提供的 IP 地址。

sucuri dns ip addresses

如果您強調這太複雜了,您可以向您的虛擬主機尋求幫助,他們將指導您完成整個過程。 除此之外,您還可以向 Sucuri 提出支持請求,他們的支持團隊將幫助您更改 DNS 記錄。

要打開票證,您會在同一頁面的手冊說明中找到一個鏈接。

open a ticket sucuri

完成防火牆設置後,更改通常需要幾個小時才能反映出來。 您預計最長等待時間為 48 小時。

當您啟用防火牆時,它會自動將安全標頭添加到您的站點以保護其免受 XSS 攻擊。

如果有未遂的 XSS 攻擊,Sucuri 將阻止它並在“報告”選項卡中向您報告

現在我們喜歡 Sucuri 防火牆的地方在於它對任何人都非常容易使用,包括初學者。 您不必是網絡安全專家或知道任何編碼。

您只需單擊“設置”»“安全”選項卡即可啟用各種保護功能。

因此,例如,您可以啟用 DDoS 保護和地理封鎖,以使黑客更難攻擊您的網站。

Emergency ddos protection

要在此處啟用安全功能,您所要做的就是選中該框並保存您的設置。 當您需要禁用它時,您只需取消選中該框。

除此之外,Sucuri 插件將:

  • 定期掃描和監控垃圾郵件和惡意代碼
  • 提醒您任何跨站點腳本漏洞
  • 阻止不良機器人和黑客
  • 通過搜索引擎和其他機構檢查黑名單
  • 監控網站正常運行時間
  • 檢測對 DNS(域名系統)和 SSL 所做的更改
  • 通過電子郵件、SMS、Slack 和 RSS 向您發送即時安全警報

因此,您的網站將始終受到保護。

2. 使用安全表格

在易受攻擊的網站上,表單是黑客最常見的目標之一。 如果您的表單不安全,這意味著任何人都可以簡單地在您的表單字段中輸入惡意代碼。

我們為保護您的網站表單提供的建議是 WPForms。 它是排名第一的 WordPress 表單構建器,具有內置安全性,因此您的表單從一開始就受到保護。

anti spam protection in WPForms

默認情況下,表單已打開反垃圾郵件保護。 此外,您甚至可以將 CAPTCHA 添加到您的表單中以阻止垃圾郵件機器人。

Advanced noCaptcha and Invisible Captcha

您可以啟用不可見的驗證碼或用戶必須解決一個小謎題或勾選一個框以證明他們是人類的類型。

3.設置用戶角色權限

當您有多個人在您的網站上工作時,授予每個人管理員訪問權限是不明智的。 最好根據他們需要的權限為他們分配角色。

WordPress 允許您為以下對象創建角色:

  • 超級管理員
  • 行政人員
  • 編輯
  • 作者
  • 貢獻者
  • 訂戶

現在,如果黑客控制了用戶的帳戶,他們在您的網站上可以做的事情將受到限制。

4.自動註銷非活動用戶

黑客可以通過劫持瀏覽器會話和竊取 cookie 來訪問用戶帳戶。

您可以通過註銷不活動的 WordPress 用戶來最小化這種風險。

許多安全插件具有空閒會話註銷功能,或者您可以使用非活動註銷插件。

5. 定期更新您的網站

WordPress 插件、主題,甚至您的 WordPress 安裝都會定期更新。 當它們可用時,您會在 WordPress 儀表板中看到它們:

updates in wordpress

許多網站所有者長時間忽略更新,但這可能會將您的網站暴露給黑客。 更新通常包含錯誤修復、新功能和軟件改進。 他們也可以有安全補丁。 您可以通過查看更新的詳細信息來查看更新是否帶有安全補丁。

view version details of update

這意味著在黑客可以用來攻擊您的網站的軟件中發現了一個漏洞。 當開發人員發現安全問題時,他們會對其進行修補並發布新版本的軟件。

您所要做的就是更新您網站上的軟件。

因此,如果您看到它是一個安全補丁,請立即更新它以避免任何被黑客入侵的風險。

security update

網站所有者忽略更新的主要原因之一是它們有時會破壞您的網站或導致不兼容問題。 我們建議您在臨時站點上測試更新,然後在您的實時站點上運行它。

這樣,您就學會瞭如何修復和防止對您的 WordPress 網站的 XSS 攻擊。

在結束之前,我們將再給您一個安全提示。 始終定期備份您的網站。

即使在您的網站上採取了最強大的安全措施,也有很多事情可能出錯。 例如,用戶可能會犯一個簡單的人為錯誤導致您的網站崩潰。

您可以使用 UpdraftPlus 等備份插件設置自動備份。 有關更多選項,請參閱我們的頂級 WordPress 備份插件列表。

常見問題

1. WordPress 是否容易受到跨站腳本攻擊?

WordPress 核心軟件由世界上一些最優秀的專家開發和維護。 他們的軟件非常堅如磐石,但請記住,沒有任何軟件沒有漏洞。

WordPress網站經常受到攻擊的原因是該平台非常受歡迎。 大多數用戶安裝了大量的第三方主題和插件。 這些元素中的任何一個都可能出現漏洞,黑客可以利用它們來入侵您的網站。

2. 有不同種類的跨站腳本攻擊嗎?

是的。 XSS 攻擊主要有 3 種類型:

  • 存儲型 XSS(也稱為持久型 XSS):攻擊者將其有效負載存儲在受感染的服務器上,導致網站向其他訪問者傳遞惡意代碼。
  • 反射型 XSS:有效載荷存儲在從瀏覽器發送到服務器的數據中。
  • DOM XSS:在這裡,服務器本身不是易受 XSS 攻擊的,而是頁面上的 JavaScript 易受攻擊。
  • 自跨站點腳本:攻擊者可以利用需要真正特定上下文和手動更改的漏洞。 這裡的受害者只能是你自己。
  • 盲目的跨站點腳本:在這些攻擊中,漏洞通常位於只有授權用戶才能訪問的頁面上。 攻擊者看不到攻擊的結果。

3. 如何確保我的網站沒有其他安全問題?

確保您始終在您的網站上安裝安全插件。 這對於包括 WooCommerce、博客和小型企業網站在內的各種網站都是必須的。 我們推薦 Sucuri,但您也可以查看 Wordfence、MalCare 和 SiteLock。 在此處查看我們的更多頂級建議:比較 9 個最佳 WordPress 安全插件。

這就是我們今天為您準備的全部內容。 我們希望這篇文章為您提供了保護您的網站所需的一切。

有關網站安全的更多信息,請參閱我們的資源:

  • 完整的 WordPress 安全指南(適合初學者)
  • 5 款最佳 WordPress 漏洞掃描程序來查找威脅
  • 9 個最佳活動日誌插件,用於跟踪和審核您的 WordPress 網站

這些帖子將為您提供更多方法來密封漏洞並保護您的網站免受所有風險。