天天看點

WordPress 4.7.0及4.7.1存在越權漏洞 官方已出更新檔 站長們盡快備份後更新吧

在wordpress 4.7.0-4.7.1版本中,存在着一個越權漏洞,成功的利用這個漏洞,可以繞過管理者權限對文章進行增删改查操作。官方已經釋出更新檔,請廣大站長朋友們盡快備份後更新。

wordpress是一種使用php語言開發的部落格平台,使用者可以在支援php和mysql資料庫的伺服器上架設屬于自己的網站。也可以把 wordpress當作一個内容管理系統來使用。

wordpress 在4.7.0版本之後将rest api插件內建到預設功能之中。rest api為wordpress的使用者提供了一個友善快捷的管理接口。在wordpress 4.7.0-4.7.1版本中,存在着一個越權漏洞,成功的利用這個漏洞,可以繞過管理者權限對文章進行增删改查操作。

在正式的漏洞分析開始前,先來簡單介紹下rest api的使用。wordpress智庫給出的介紹如下

wordpress正在朝着成為一個全堆棧式的應用架構發展,我們需要新的api。于是wordpress json rest api 項目誕生了,該項目的目的在于創造一個易于使用,易于了解和經過良好測試的架構來建立這些api,同時也為wordpress核心建立api。

這個插件(wordpress json rest api (wp api))提供了一個易于使用的rest api,讓我們可以通過http擷取簡單友善的json格式的資料,這些資料包括使用者,文章,分類等等。擷取或更新資料非常簡單,隻需要發送一個http請求就可以了。

具體使用詳情請參照rest api handbook

https://developer.wordpress.org/rest-api/

在使用api對文章進行操作之前,需要對操作進行授權,授權方式有三種:cookie、oauth和簡單認證。如果不進行授權直接通過api對文章進行修改操作,會傳回一個401,如下圖所示

WordPress 4.7.0及4.7.1存在越權漏洞 官方已出更新檔 站長們盡快備份後更新吧

如果想成功利用漏洞,必須繞過權限管理,也就是繞過update_item_permissions_check()子產品,使其最終return true。

如果我們輸入的url是這種形式

http://192.168.3.112/wordpress/index.php/wp-json/wp/v2/posts/1/?id=1grq

get_post()函數傳回值一定為null,這樣會使得$post值為null,回頭來看update_item_permissions_check()函數,這時update_item_permissions_check()函數的傳回值竟然為true了!

目前已經有研究員在github上給出相應的poc,連結如下

https://gist.github.com/leonjza/2244eb15510a0687ed93160c623762ab

請盡快更新到wordpress 4.7.2!在4.7.2版本中,如果get_post()判定$post結果為 false,則直接傳回$post,避免$post進入下層if判定繞過權限檢查。

WordPress 4.7.0及4.7.1存在越權漏洞 官方已出更新檔 站長們盡快備份後更新吧

相關文章請參看

<a href="http://toutiao.secjia.com/wordpress-cross-site-vulnerabilities-patched#">站長快訊 wordpress跨站攻擊漏洞修補</a>

原文釋出時間:2017年3月24日

本文由:綠盟科技部落格 釋出,版權歸屬于原作者

原文連結:http://toutiao.secjia.com/wordpress-4-7-0-4-7-1-unauthorized-vulnerability

本文來自雲栖社群合作夥伴安全加,了解相關資訊可以關注安全加網站

繼續閱讀