一些 PHP 管理系统程序中的后门

前端之家收集整理的这篇文章主要介绍了一些 PHP 管理系统程序中的后门前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我倒不怎么关心提示框,SABLOG怎么知道我的版本有漏洞呢,程序肯定有后门.每次登陆后台自动检测官方版本跟当前版本对比.嗯.后来找到了.在templates/admin/main.PHP最后的一部分.删掉如下代码就OK了.
其实这个不足以导致被黑的,现在一般有点常识的,密码都比较复杂,几个数字+几个字母,MD5的话一般很难跑出来.当然有彩虹表的话,另说...

代码如下:


目前流行的程序里,不止SABLOG一个,Discuz,DEDECMS都是有这样的后门的.这样的后门官方的真正用意很难说.
为了让用户及时得到最新的补丁,最新的版本是一方面,其他的,随便人家怎么发挥了...
但是这个东西有好的一面,也有坏的一面,一旦官方被黑,后果可想而知,所有的用户就被"批量挂马"了.
现在干脆都给发出来吧.先来个DEDECMS的,标示出来的删掉就行:
代码如下:
/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最新消息


PHP" method="post">


再把DZ的"后门"发出来吧.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,$_DPLUGIN,$sqldebug,$debuginfo;
$infmessage = '';
?>





PHP
updatesession();
}

这个文件中还有一个function,没必要的,可以去掉:
代码如下:
function bbsinformation() {
global $db,$_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.' PHP?fid=10" class="lightlink smallfont" target="_blank">'.lang('home_check_newversion').' '
));

虽然说这里没有直接与官方进行通信,但是,我看着不爽,想打补丁自己常去官方看就是了.还有所有文件名中包含insenz的文件,用不着的话就直接删除.没什么用.

猜你在找的PHP相关文章