IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁網(wǎng)絡(luò)編程PHP編程 → PHP程序中的后門

PHP程序中的后門

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

修改須謹(jǐn)慎,修改之后你將不會得到官方的任何更新信息!
from:可酷可樂

今天先去紅狼看了看我昨天問的問題,目前沒人能回答.收到管理員的消息,應(yīng)該是群發(fā)的,SABLOG又出漏洞了.去官方一看,還是那個(gè)編碼的,跟DZ類似的漏洞.最近漏洞好多啊.
登錄BLOG后臺,果然彈出提示框了.
我倒不怎么關(guān)心提示框,SABLOG怎么知道我的版本有漏洞呢,程序肯定有后門.每次登陸后臺自動檢測官方版本跟當(dāng)前版本對比.嗯.后來找到了.在templates/admin/main.php最后的一部分.刪掉如下代碼就OK了.
其實(shí)這個(gè)不足以導(dǎo)致被黑的,現(xiàn)在一般有點(diǎn)常識的,密碼都比較復(fù)雜,幾個(gè)數(shù)字+幾個(gè)字母,MD5的話一般很難跑出來.當(dāng)然有彩虹表的話,另說...

目前流行的程序里,不止SABLOG一個(gè),Discuz,DEDECMS都是有這樣的后門的.這樣的后門官方的真正用意很難說.
為了讓用戶及時(shí)得到最新的補(bǔ)丁,最新的版本是一方面,其他的,隨便人家怎么發(fā)揮了...
但是這個(gè)東西有好的一面,也有壞的一面,一旦官方被黑,后果可想而知,所有的用戶就被"批量掛馬"了.
現(xiàn)在干脆都給發(fā)出來吧.先來個(gè)DEDECMS的,標(biāo)示出來的刪掉就行:

/include/inc_functions.php

function GetNewInfo(){
if(!isset($GLOBALS['__funAdmin'])) require_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php");
return SpGetNewInfo();
}

?


/include/inc/inc_fun_funAdmin.php

function SpGetNewInfo(){
global $cfg_version;
$nurl = $_SERVER["HTTP_HOST"];
if( eregi("[a-z\-]{1,}\.[a-z]{2,}",$nurl) ){ $nurl = urlencode($nurl); }
else{ $nurl = "test"; }
$gs = "";
return $gs;
}

?


dede/index_body.php(其中dede為后臺目錄)



DedeCms最新消息









再把DZ的"后門"發(fā)出來吧.admin\global.func.php里面查找"function cpfooter",替換成如下的function:

function cpfooter() {
global $version, $adminid, $db, $tablepre, $action, $bbname, $charset, $timestamp, $isfounder, $insenz;
global $_COOKIE, $_SESSION, $_DCOOKIE, $_DCACHE, $_DSESSION, $_DCACHE, $_DPLUGIN, $sqldebug, $debuginfo;
$infmessage = '';
?>





updatesession();
}


這個(gè)文件中還有一個(gè)function,沒必要的,可以去掉:

function bbsinformation() {

global $db, $timestamp, $tablepre, $charset, $bbname, $_SERVER, $siteuniqueid, $save_mastermobile;
$update = array('uniqueid' => $siteuniqueid, 'version' => DISCUZ_VERSION, 'release' => DISCUZ_RELEASE, 'php' => PHP_VERSION, 'mysql' => $db->version(), 'charset' => $charset, 'bbname' => $bbname, 'mastermobile' => $save_mastermobile);

$updatetime = @filemtime(DISCUZ_ROOT.'./forumdata/updatetime.lock');
if(emptyempty($updatetime) || ($timestamp - $updatetime > 3600 * 4)) {
@touch(DISCUZ_ROOT.'./forumdata/updatetime.lock');
$update['members'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}members");
$update['threads'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}threads");
$update['posts'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}posts");
$query = $db->query("SELECT special, count(*) AS spcount FROM {$tablepre}threads GROUP BY special");
while($thread = $db->fetch_array($query)) {
$thread['special'] = intval($thread['special']);
$update['spt_'.$thread['special']] = $thread['spcount'];
}
}

$data = '';
foreach($update as $key => $value) {
$data .= $key.'='.rawurlencode($value).'&';
}

return 'update='.rawurlencode(base64_encode($data)).'&md5hash='.substr(md5($_SERVER['HTTP_USER_AGENT'].implode('', $update).$timestamp), 8, 8).'×tamp='.$timestamp;
}

還有admin/home.inc.php,大概193~196行(DZ6.1.0 UTF-8官方原版),這里:

showtablerow('', array('class="vtop td24 lineheight"', 'class="lineheight smallfont"'), array(
lang('home_discuz_version'),
'Discuz! '.DISCUZ_VERSION.' Release '.DISCUZ_RELEASE.' '.lang('home_check_newversion').' '
));

雖然說這里沒有直接與官方進(jìn)行通信,但是,,,我看著不爽,想打補(bǔ)丁自己常去官方看就是了.還有所有文件名中包含insenz的文件,用不著的話就直接刪除.沒什么用.

關(guān)鍵詞標(biāo)簽:

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 2021年最好用的10款php開發(fā)工具推薦 2021年最好用的10款php開發(fā)工具推薦 php利用淘寶IP庫獲取用戶ip地理位置 php利用淘寶IP庫獲取用戶ip地理位置 在 PHP 中使用命令行工具 在 PHP 中使用命令行工具

相關(guān)下載

人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法 plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法 PHP中防止SQL注入攻擊 PHP會話Session的具體使用方法解析 PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法 PHP如何清空mySQL數(shù)據(jù)庫 CakePHP程序員必須知道的21條技巧 PHP采集圖片實(shí)例(PHP采集)