近日,國外安全研究人員在大量攻擊數據中發現了一個WordPress plugins Social Warfare遠程代碼執行漏洞。該漏洞位于social-warfare\lib\utilities\SWP_Database_Migration.php文件中的eval()函數,該函數能夠運行攻擊者在“swp_url”GET參數中定義的PHP代碼。此漏洞允許攻擊者getshell接管整個網站,甚至是服務器。安全狗海青實驗室已于昨日第一時間響應并發布預警信息,我們隨后進行了進一步的研究分析,現將細節公布。
1、漏洞分析
在social-warfare\lib\utilities\SWP_Utility.php處通過獲取swp_debug參數

在調用漏洞文件social-warfare\lib\utilities\SWP_Database_Migration.php進入處理流程

在202行處調用了is_admin()函數,該函數是wordpress的內置布爾型函數,取值取決于文件所處位置,前端默認而False,而后端默認為True,而該文件所處為后端,is_admin取值為真,if條件里的判斷為永假,導致了該模塊頁面可以未進行身份驗證直接進行訪問。
接下來通過獲取swp_url參數獲取遠程文件內容,經過簡單處理滿足
*
格式的數據,最后獲取*號里面的數據賦值給變量array,最后通過eval函數執行,導致代碼執行。
2、漏洞復現
環境搭建:下載安裝WordPress程序,然后登錄后臺安裝Social Warfare插件,使用構造好的payload進行測試,最終導致xss及遠程代碼執行。


3、處置建議
Wordpress官方插件庫已經更新了該插件版本,該插件的用戶可以更新至該插件的最新版本
申請創業報道,分享創業好點子。點擊此處,共同探討創業新機遇!