WordPress自動更新漏洞:超1/4網站可被黑客一舉擊潰
Wordfence最新漏洞造成大部分的網站被黑,Wordfence最近披露了某個影響范圍很廣的安全問題,大量WordPress網站都受到影響。這個漏洞利用的是WordPress的自動更新功能,此功能默認是開啟的,又因為整個互聯(lián)網上大約有27%的站點都采用WordPress,所以Wordfence宣稱,整個web世界有27%的網站都可能因此被黑。
簡單說就是利用WordPress更新服務器的弱點,控制該服務器,自然也就能夠同時對所有采用WordPress的網站完成入侵了。

一擊黑入全球1/4的網站
在WordPress生態(tài)中,api.wordpress.org服務器的重要功能在于,為WordPress站點發(fā)布自動更新。各WordPress站點,每隔1個小時就會向該服務器發(fā)起請求,檢查插件、主題和WordPress核心更新。
api.wordpress.org服務器的響應就包括了WordPress各部分是否需要自動更新,響應中也包含下載和安裝更新軟件的URL地址。
于是,只要搞定了這臺服務器,黑客也就能夠讓所有的WordPress站點自動從他們自己的URL下載和安全惡意程序了。也就是說,攻擊者通過api.wordpress.org的自動更新機制,就能大規(guī)模黑入大量WordPress站點。

整個過程實際上是完全可行的,因為WordPress本身并不提供軟件的簽名驗證。它信任api.wordpress.org提供的任意URL地址和包。WordPress文檔中有提到:默認情況下,每個站點都會開啟自動更新功能,接收核心文件更新。
按照Wordfence的說法,黑客只需要針對api.wordpress.org一擊,就能讓全球超過1/4的網站感染惡意程序。
api.wordpress.org漏洞技術細節(jié)
這個更新服務器有個GitHub webhook,它能夠讓WordPress核心開發(fā)者將代碼同步到wordpress.org SVN庫,也就能夠將GitHub作為其源代碼庫了。這樣一來,核心開發(fā)者只要在GitHub提交更改,就會觸發(fā)api.wordpress.org的一個進程,也就能方便得從GitHub獲得最新代碼。
這里api.wordpress.org聯(lián)系GitHub的URL也就是所謂的“webhook”,這東西是用PHP寫的。此webhook的PHP是開源的,點擊這里就能獲取。
Wordfence對其中的代碼進行了分析,發(fā)現(xiàn)了其中的一個漏洞。攻擊者利用該漏洞就能夠在api.wordpress.org上執(zhí)行任意代碼,并且獲得api.wordpress.org的訪問權。實際上也就是遠程代碼執(zhí)行漏洞了。
來自GitHub的請求抵達api.wordpress.org,那么webhook會通過共享的hashing算法來確認,的確是GitHub發(fā)出的請求。整個過程是GitHub發(fā)出JSON數(shù)據(jù),它會將數(shù)據(jù)和共享秘值進行混合,哈希后將哈希值與JSON數(shù)據(jù)一同發(fā)給api.wordpress.org。
api.wordpress.org收到請求之后,也將JSON數(shù)據(jù)和共享秘值進行混合,然后算哈希。最終結果如果和GitHub發(fā)來的匹配,也就證明了來源是沒問題的,是GitHub發(fā)來的請求。

GitHub采用SHA1來生成哈希,并且在header: X-Hub-Signature: sha1={hash}的位置給出簽名。webhook提取算法和哈希來確認簽名。漏洞也就在于:代碼會使用客戶端提供的哈希函數(shù),這里的客戶端通常情況下當然就是GitHub了。在這個過程中,如果能夠繞過webhook認證機制,攻擊者將能夠向shell_exec直接傳送POST參數(shù),從而執(zhí)行遠程代碼并順利入侵api.wordpress.org更新服務器。
當然整個過程需要讓webhook認為,攻擊者是知道共享秘值的。不過webhook能夠讓攻擊者選擇哈希算法,PHP提供了各種算法。找個足夠弱的哈希算法,暴力攻破webhook,發(fā)出一系列哈希,猜出共享秘值和發(fā)送數(shù)據(jù)的哈希值,直到猜對為止,api.wordpress.org就會響應請求。
整個過程的詳情可以參見文末Wordfence的原文鏈接。
問題根源沒有解決?
Wordfence是在今年9月份將該漏洞上報給Automattic(WordPress母公司)的,Automattic與9月7日向代碼庫推了fix(有關補丁詳情,可以點擊這里)。不過Wordfence表示api.wordpress.org仍然是部署WordPress核心、插件和主題升級的單點故障根源所在。
Wordfence表示曾經試圖與Automattic安全團隊就有關自動升級系統(tǒng)的安全問題展開對話,但沒有得到任何回應。大約在3年前,就有相關WordPress服務器部署認證機制的探討,目前都還沒有任何進展。
相關文章
我們不知道的秘密? 黑客可以使用硬件破解GSM A5加密算法
以前我們都是在使用基于早期信號標準的GSM手機,這也是當前應用最為廣泛的移動電話標準,但是大家可能還不知道,現(xiàn)在專業(yè)的黑客可以只需要使用三張NVIDIA GeForce GTX690顯2016-11-06- 我們來看一下以前比較精典的一個溢出實例ms04011溢出: Microsoft Windows XP [版本 5.1.2600] (C) 版權所有 1985-2001 Microsoft Corp. C:windowssystem32cd C2008-10-08
- 今晚群里朋友叫看個站,有sql防注入,繞不過,但是有發(fā)現(xiàn)記錄wrong的文件sqlin.asp。2012-05-15
- 我們知道在asp中出現(xiàn)得最多的還是sql注入,不過在php中由于magic_quotes_gpc為on的情況下特殊字符會被轉義,所以即使有很多時候存在sql注入也無法利用。但是php強大的文件2008-10-08
- 我看暴庫漏洞原理及規(guī)律 SQL注入流行很久了,我們找漏洞注入目的無非是想得到數(shù)據(jù)庫內的東西,比如用戶名密碼等,更進一步的MSSQL數(shù)據(jù)庫還可以借此獲得權限?;贏ccess2008-10-08
- 近期發(fā)現(xiàn)adobe.com,internet.com,nike.com,等等著名站點都分分遭受到攻擊,但攻擊者所使用的技術并不是以往所使用的入侵WEB服務器,更改主頁的慣用手法,攻擊者使用的是一2008-10-08
- FCKeditor的JSP版漏洞 http://www.xxx.com/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=FileUpload&Type=Image&CurrentFol2009-04-20
- 1.安裝完軟件,打開后: 2.按照圖中點選正確的設置,填寫上你自己找到的代理IP地址,端口,或者帳號和密碼: 3.(這一步看情況定:有的代理不要2008-10-08
- 軟件名稱:Pstools 運行平臺:Windows 軟件授權:免費軟件 軟件大?。?50KB 下面我用一個實例來講解這個命令的使用。假設我要對192.168.0.8計算機進行2009-07-05

