跨站腳本:WordPress 用戶指南

已發表: 2021-04-21

如果您擔心跨站點腳本以及它如何影響您的 WordPress 網站,那麼您絕對不是偏執狂。 雖然跨站點腳本(也稱為 XSS)的漏洞並非 WordPress 站點所有者獨有,但了解其對 WordPress 站點的潛在負面影響非常重要。

在本指南中,我們將分解您需要關注的跨站點腳本 (XSS) 漏洞。 其中一些會有點技術性,但在本指南的末尾,您將能夠對與跨站點腳本相關的整體 WordPress 站點安全性做出明智的決定。 此外,您將確切知道如何避免攻擊。

現在,讓我們深入了解。

在本指南中

    什麼是跨站腳本(XSS)?

    跨站點腳本 (XSS) 是一種惡意軟件攻擊,它通過利用任何 WordPress 站點上的跨站點漏洞來執行。 事實上,這是 WordPress 網站被黑客入侵的最常見方式,因為有太多 WordPress 插件存在 XSS 漏洞。

    跨站腳本解釋

    用更多技術術語來說,什麼是跨站點腳本?

    跨站點腳本漏洞允許在網站上執行外部 JavaScript 代碼。 這對於 WordPress 站點所有者來說可能非常難以捕捉,因為利用該漏洞的攻擊可能有多種不同類型。

    如果您正在運行一個非常大或複雜的 WordPress 網站,並且有許多協同工作的插件,則更是如此。

    許多不同類型的 XSS 攻擊可以歸納為兩個不同的類別:

    • 在客戶端瀏覽器中執行的惡意腳本
    • 在您的服務器上存儲和執行的惡意腳本,然後由瀏覽器提供

    在這兩種情況下,黑客都會使用跨站點腳本攻擊來操縱您站點的工作方式,甚至竊取關鍵站點數據。

    是什麼讓 WordPress 網站的 XSS 攻擊很常見?

    作為 WordPress 用戶,您可能已經知道某些 WordPress 插件有多複雜。 事實上,您使用的某些插件甚至比 WordPress 核心本身還要復雜。

    不幸的是,WordPress 插件越複雜,您面臨安全問題的可能性就越大。 插件作者知道防範 XSS 攻擊是多麼困難,這確實使他們的工作成為一項挑戰。

    一些最受尊敬的科技巨頭,如 Facebook、蘋果和谷歌,過去曾遭受過 XSS 攻擊。 事實上,他們僱傭了整個專門的安全團隊來最大程度地降低這些攻擊的風險。

    這應該有助於更多地了解攻擊可以多麼容易地潛入 WordPress 插件,其安全資源比科技巨頭少得多。

    您可能想知道您的站點對跨站點腳本攻擊的脆弱性如何。

    首先,重要的是要注意,如果您保持所有主題和插件完全更新,您已經顯著降低了風險。 但是,沒有一種有保證的方法可以完全抵禦 XSS 攻擊。

    大多數 WordPress 網站都存在非公開的漏洞,黑客可以利用這些漏洞。 因此,定期掃描您的網站至關重要。 稍後再談。

    跨站腳本 WordPress

    雖然黑客可以通過跨站點腳本攻擊造成的損害取決於他們最終目標的確切細節,但在最壞的情況下,您的整個站點都可以被接管。

    在其他情況下,黑客會對網站進行細微更改,甚至將網站重定向到他們設置的惡意網站。

    換句話說,利用 WordPress 跨站點腳本漏洞的黑客知道如何:

    • 通過檢測會話 ID 來劫持用戶的會話
    • 放置未經您授權的重定向和彈出窗口
    • 率先發起惡意網絡釣魚攻擊
    • 通過安裝鍵盤記錄器記錄受害者的每一次擊鍵
    • 竊取您的財務信息或網站用戶的財務信息

    跨站腳本的類型有哪些?

    並非所有 XSS 攻擊都同樣危險。 事實上,有些比其他的要危險得多。

    在某些攻擊中,黑客可以完全訪問您的 WordPress 網站。 到那時,他們基本上可以用它做任何他們想做的事情。

    在其他情況下,攻擊將允許黑客修改您網站的一部分。 雖然不像全站點 XSS 黑客那樣危險,但這也可能非常危險,因為它會向所有訪問者提供惡意軟件。

    不同的跨站點腳本攻擊需要黑客成為貢獻站點成員。 在這種情況下,所造成的危險要低得多。

    跨站腳本如何工作?

    經驗豐富的黑客使用自動化工具發現網站漏洞。 在他們發現漏洞後,執行所需的黑客攻擊就變得很簡單了。

    不幸的是,整個黑客攻擊過程都可以由機器人執行。

    黑客有五種不同的方式使用 XSS 來實現他們的目標。

    1. 劫持用戶會話

    XSS 攻擊可以幫助黑客訪問 cookie。 最危險的方面是這種類型的攻擊會洩露用戶的會話 ID。

    大多數網站利用會話為每個網站用戶設置唯一標識符。 然後使用腳本將會話存儲在會話 cookie 中。

    黑客能夠將會話 cookie 發送到特定站點,例如 http://198.178.260.468/,並將請求記錄到服務器的 access.log 文件中。

    當黑客使用會話信息時,他們可以登錄您已登錄的任何帳戶,而無需密碼。

    2. 未經授權的活動執行

    在某些情況下,黑客無法使用 JavaScript 來竊取所需的 cookie。 在這些情況下,他們將嘗試利用 XSS 攻擊來執行未經授權的活動。

    例如,他們可能會使用一個腳本,導致在您的評論部分彈出一條消息,並繼續重複發布。

    這種類型的跨腳本攻擊通常採用惡意腳本的形式,像病毒一樣傳播給您的用戶。 它還可用於破壞您的網站。

    3. 網絡釣魚攻擊

    通常,WordPress 跨站點腳本漏洞會導致黑客採用比簡單的 XSS 攻擊更大的方案。

    跨站點腳本可能會導致對您站點的網絡釣魚攻擊。

    通常,惡意腳本開始在您的 WordPress 網站上發起網絡釣魚詐騙,誘騙用戶提供高度敏感的信息。

    這是一次非常危險的攻擊。

    4. 鍵盤記錄器安裝

    這種類型的攻擊涉及黑客實施腳本,該腳本會將鍵盤記錄器安裝到易受攻擊的 WordPress 站點上。

    每次您的用戶鍵入內容時,該鍵盤記錄器都會存儲信息並將其傳輸給黑客。 這是竊取信用卡信息、密碼、醫療信息等的一種快速簡便的方法。

    5. 竊取敏感信息

    我們已經討論了 cookie 以及它們是如何被盜的。 但是這種特殊的攻擊將這一原則帶到了不同的層次。

    想像一個場景,您的信用合作社的“網上銀行”頁面受到 XSS 攻擊。 如果黑客使用特定腳本,黑客可以直接登錄您的支票賬戶而無需驗證。

    雖然這不是一個新概念,但它是黑客使用會話 cookie 能夠執行的操作的擴展。

    如何保護我的 WordPress 站點免受跨站點腳本攻擊?

    真正的問題是,專業黑客繼續提出更明智的惡意文本變體,現在甚至可以繞過最好的跨站點腳本預防。

    這真的是一種貓捉老鼠的遊戲。

    檢測 XSS 攻擊的最佳方法是使用插件,例如 iThemes Security Pro iThemes Security Pro 具有多種網站安全功能,可以構建您抵禦跨站點腳本攻擊的前線。 (稍後會詳細介紹)。

    將您的防禦與像 BackupBudy 這樣的 WordPress 備份插件結合起來也非常重要,如果最壞的情況發生,它可以恢復您網站歷史中的較早點。

    顯然,在一個完美的世界中,這樣的黑客攻擊永遠不會發生。 但是 XSS 攻擊非常難以防禦,這使得強化的 WordPress 安全性成為您的首要任務。

    XSS 攻擊的工作原理

    攻擊的工作方式取決於黑客發起的攻擊類型。 雖然有多種類型的跨站點腳本,但它們都利用 JavaScript 來傳播惡意惡意軟件。

    如果您不熟悉 JavaScript,它是一種位於您網站的 HTML 代碼之間的語言。 它能夠創建執行穩健計算的特定變量。

    說實話,開發人員可以使用 JavaScript 來執行幾乎任何可以想像的功能。

    例如,接收付款並將其存儲在數據庫中的 WooCommerce 站點可以使用 JavaScript 將登錄信息和付款詳細信息發送給其他人。

    當黑客利用您站點代碼中的此漏洞運行 JavaScript 時,這是一次全面的 XSS 攻擊。 這種漏洞類型通常會出現在您網站上用戶輸入數據的幾乎任何地方,包括以下形式:

    • 彈出窗口
    • 信息表
    • 搜索欄
    • 網址

    請記住,數據輸入字段不一定必須是可視的。 在某些情況下,它可能是站點代碼中的一個錯誤變量,它從數據庫或任何其他文件中調用了未經處理的數據。

    持久性或存儲性 XSS 攻擊

    假設您的網站是一個博客,有一個開放的評論部分。 如果您的一位用戶為您留下評論,則該數據將發送到數據庫並存儲。

    將您的站點配置為在將數據存儲到數據庫之前對其進行清理非常重要。 換句話說,它應該檢查用戶輸入的評論是合法的還是惡意腳本。

    如果沒有這種檢查,它可能會在 WordPress 中打開 XSS 漏洞。

    這是它的工作原理:

    一、黑客定位並利用漏洞

    黑客使用掃描儀搜索 Internet 並定位存在跨站點腳本攻擊漏洞的站點。 一旦找到一個站點,惡意腳本就會被植入該站點的評論部分。

    在沒有任何檢查的情況下,您的站點會獲取惡意腳本並將其發送到數據庫。

    2. 訪問者查看您受感染的頁面

    對於普通網站訪問者來說,黑客的數據看起來就像是標準評論。 這位訪問者不知道的是,一個簡單的評論是一個會竊取 cookie 的可執行代碼。

    任何訪問該頁面的人都會受到負面影響。

    3. 瀏覽器 Cookie 盜竊

    大多數用戶通常會在他們的瀏覽器上始終打開多個選項卡,例如社交媒體、電子郵件、亞馬遜、YouTube 和他們雇主的網站。

    當用戶訪問受感染的站點並查看包含黑客評論的頁面時,代碼會立即執行並使黑客能夠竊取瀏覽器 cookie。

    這種攻擊被稱為跨站點攻擊,因為他們能夠從在任何選項卡上打開的每個網站竊取 cookie。

    4. 利用被盜的 Cookie

    黑客使用竊取的 cookie 偽裝成經過身份驗證的站點用戶,例如在購物網站上進行非法購買。

    攻擊者還能夠竊取帳戶信息,例如密碼和用戶名,並侵入電子郵件以向整個聯繫人列表發送網絡釣魚電子郵件。

    惡意的可能性似乎無窮無盡。

    非持久性或反射性 XSS 攻擊

    這不是對網站訪問者的攻擊,而是對網站的攻擊。

    如果您是 WordPress 網站所有者,您可能自己打開了很多瀏覽器標籤。

    通常,WordPress 管理儀表板只是您經常打開的許多不同選項卡之一。 而這正是反射型 XSS 攻擊成為可能的原因。

    它是如何發生的:

    1. 網站所有者被惡意鏈接所吸引

    在某些情況下,黑客會向您的電子郵件發送惡意鏈接,希望您會中了他們的小把戲。

    在其他情況下,黑客會在其他網站上放置惡意鏈接。

    如果您單擊這些鏈接之一,腳本將從外部站點加載到您的 WordPress 站點。

    2. 獲取會話 Cookie

    當您點擊惡意鏈接時,您就會執行他們使用的代碼。 這將使黑客能夠竊取您的 cookie 並訪問您的 WordPress 網站的管理員帳戶。

    在他們獲得對該站點的完全管理訪問權限後,他們可以輕鬆竊取敏感數據和登錄憑據。 他們甚至可以將您鎖定在您的網站之外或使用它來運行任意數量的不同黑客攻擊。

    可怕的是他們會以你的名義完成。

    正確執行的 XSS 攻擊將對您的業務和網站產生重大影響,並可能無法挽回地損害您的信譽。 從這些攻擊中恢復可能會花費您大量寶貴的時間和辛苦賺來的錢。

    這就是為什麼採取一切可能的預防措施如此重要的原因。

    WordPress 跨站腳本預防:5 個步驟

    沒有簡單的方法可以這麼說,但不存在避免網絡犯罪的萬無一失的計劃。 最好的辦法是為常規 WordPress 安全審計製定一個可靠的計劃。 避免 XSS 攻擊的第一步是立即開始準備這些步驟。

    1. 下載並安裝 iThemes Security Pro 插件

    要開始保護您的站點,請下載並安裝 iThemes Security Pro 插件。

    立即獲取 iThemes Security Pro

    2. 保護您的用戶免受會話劫持

    簡而言之:您應該為您的 WordPress 網站上的管理員和編輯提供會話劫持保護。

    為什麼? 正如我們之前提到的,每次您登錄網站時,ordPress 都會生成一個會話 cookie。 假設您有一個已被開發人員放棄且不再發布安全更新的瀏覽器擴展。 不幸的是,被忽視的瀏覽器擴展有一個漏洞。 該漏洞允許不法分子劫持您的瀏覽器 cookie,包括前面提到的 WordPress 會話 cookie。 同樣,這種類型的黑客被稱為會話劫持。 因此,攻擊者可以利用擴展漏洞來捎帶您的登錄名並開始對您的 WordPress 用戶進行惡意更改。

    iThemes Security Pro 可信設備功能使會話劫持成為過去。 如果用戶的設備在會話期間發生變化,iThemes Security 將自動將用戶註銷,以防止對用戶帳戶進行任何未經授權的活動,例如更改用戶的電子郵件地址或上傳惡意插件。

    iThemes Security Pro 中的受信任設備功能可用於識別您和其他用戶用於登錄您的 WordPress 站點的設備。 識別出您的設備後,我們可以阻止會話劫持者和其他不良行為者對您的網站造成任何損害。

    當用戶登錄到無法識別的設備時,受信任的設備可以限制其管理員級別的功能。 這意味著,如果攻擊者能夠闖入您的 WordPress 網站的後端,他們將無法對您的網站進行任何惡意更改。

    在這種情況下,您將收到一封電子郵件,讓您知道有人從無法識別的設備登錄到您的站點。 該電子郵件包含阻止黑客設備的選項。 然後你就可以哈哈大笑,知道你毀了一個壞人的一天。

    可信設備的另一個好處是它使會話劫持成為過去。 如果用戶的設備在會話期間發生變化,iThemes Security 將自動將用戶註銷,以防止對用戶帳戶進行任何未經授權的活動,例如更改用戶的電子郵件地址或上傳惡意插件。

    要開始使用可信設備,請在安全設置的主頁上啟用它們,然後單擊配置設置按鈕。

    在 Trusted Devices 設置中,決定您要使用該功能的用戶,然後啟用Restrict CapabilitiesSession Hijacking Protection功能。

    啟用新的受信任設備設置後,用戶將在 WordPress 管理欄中收到有關待處理的無法識別設備的通知。 如果您當前的設備尚未添加到受信任設備列表中,請單擊“確認此設備”鏈接以發送授權電子郵件。

    單擊無法識別的登錄電子郵件中的確認設備按鈕,將您當前的設備添加到受信任設備列表。

    啟用可信設備後,用戶可以從他們的 WordPress 用戶配置文件頁面管理設備。 在此屏幕中,您可以批准或拒絕可信設備列表中的設備。

    此外,您可以選擇註冊某些第三方 API 以提高可信設備識別的準確性,並使用靜態圖像地圖來顯示無法識別的登錄的大致位置。 查看受信任的設備設置以查看可用的集成,

    3. 激活版本管理以保持您的主題和插件更新

    很難跟踪每個已披露的 WordPress 漏洞——我們會在我們的 WordPress 漏洞綜述中跟踪並分享它們——並將該列表與您在網站上安裝的插件和主題的版本進行比較。 但是,這並不能阻止 WordPress 黑客針對具有已知漏洞的插件和主題。 在您的網站上安裝具有已知漏洞的軟件可為黑客提供接管您網站所需的藍圖。

    iThemes Security Pro 中的版本管理功能允許您自動更新 WordPress、插件和主題。 除此之外,當您運行過時的軟件並掃描舊網站時,版本管理還可以選擇加強您的網站。

    要開始使用版本管理,請在安全設置的主頁上啟用該模塊。

    現在單擊“配置設置”按鈕以仔細查看設置。

    4. 打開 iThemes 安全站點掃描

    iThemes Security Pro 站點掃描會檢查您的網站是否存在已知的 WordPress、插件和主題漏洞,並在可用時應用補丁。

    要在新安裝時啟用站點掃描,請導航到 iThemes Security Pro 設置並單擊站點掃描設置模塊上的啟用按鈕。

    要觸發手動站點掃描,請單擊位於安全設置右側欄的站點掃描小部件上的立即掃描按鈕。

    站點掃描結果將顯示在小部件中。

    如果站點掃描檢測到漏洞,請單擊漏洞鏈接以查看詳細信息頁面。

    在站點掃描漏洞頁面上,您將看到是否有針對該漏洞的修復程序。 如果有可用的補丁,您可以單擊“更新插件”按鈕在您的網站上應用此修復程序。

    在補丁可用和 iThemes 安全漏洞數據庫更新以反映修復之間可能存在延遲。 在這種情況下,您可以將通知靜音,以便不再收到與漏洞相關的任何警報。

    重要提示:在您確認當前版本包含安全修復程序或漏洞不會影響您的站點之前,您不應忽略漏洞通知。

    5.打開文件更改檢測

    要開始監視文件更改,請在安全設置的主頁上啟用文件更改檢測

    WordPress 安全文件更改檢測設置

    一旦文件更改檢測已啟用,安全的iThemes Pro將開始掃描所有網站的文件的。 分塊掃描文件將有助於減少監視文件更改所需的資源。

    初始文件更改掃描將創建您網站文件及其文件哈希的索引。 文件散列是文件內容的縮短的、非人類可讀的版本。

    初始掃描完成後,iThemes Security Pro 將繼續分塊掃描您的文件。 如果在後續掃描之一中文件哈希發生更改,則意味著文件的內容已更改。

    您還可以通過單擊“文件更改檢測”設置中的“立即掃描文件”按鈕來運行手動文件更改

    WordPress 安全掃描文件更改按鈕

    總結:跨站腳本和保護您的 WordPress 網站

    我們希望本指南能幫助您了解 WordPress 站點上跨站點腳本的風險。 通過實施一些 WordPress 安全最佳實踐以及上述 5 個步驟,您將擁有更好的防線。

    獲取獎勵內容:WordPress 安全指南
    下載指南

    跨站腳本 WordPress