好吧,原文谢绝转载,那我就重写一个吧,这应该不算转载了吧……


漏洞名称:Mydecms 贤诚文章管理系统泄露数据库账号、密码、库名漏洞

程序名称:Mydecms 贤诚文章管理系统

官方网站:http://www.mydecms.com/

漏洞类型:setup.php 安装程序泄露数据库账号、密码、库名

发现时间:2012-03-02 20:47:00 [可能更早]

漏洞作者:network

影响范围:小

危害级别:极高

漏洞代码:

/*
漏洞文件:setup.php
起始行号:311
*/

//……省略……
	/*********************************创建数据库配置文件开始***************************************/
	$str ='<?php
$web = array(
	\'host\'   => \''.trim($_POST["webhost"]).'\',   //数据库访问地址或者IP
	\'dbuser\' => \''.trim($_POST["dbuser"]).'\',    //数据库用户名
	\'dbpass\' => \''.trim($_POST["dbpass"]).'\',    //数据库访问密码
	\'dbname\' => \''.trim($_POST["dbname"]).'\',    //数据库名
	\'table\'  => \''.trim($_POST['dbqz']).'\'       //数据库名
);
?>';
if($fp = fopen("include/db.php","w") or dir("include/db.php文件打开<font color=red>失败</font>! "."\n")){
	if(fwrite($fp,trim($str))){
		echo('<br>创建数据库配置文件db.php成功!'."\n");
	}else{
		echo('<br>创建数据库配置文件db.php<font color=red>失败</font>!'."\n");
	}
	fclose($fp);
}else{
	echo('<br>没有写入权限,创建数据库配置文件db.php<font color=red>失败</font>!'."\n");
}
echo "安装完毕!\n";
echo "请删除安装文件“setup.php”";

if($fp = fopen("yes.txt","w") or dir("yes.txt文件打开<font color=red>失败</font>! "."\n")){
	if(fwrite($fp,trim($str))){
		echo('<br>创建文件yes.txt成功!'."\n");
	}else{
		echo('<br>创建文件yes.txt<font color=red>失败</font>!'."\n");
	}
	fclose($fp);
}else{
	echo('<br>没有写入权限,创建文件yes.txt<font color=red>失败</font>!'."\n");
}
	/*********************************创建数据库配置文件结束***************************************/
}
//……省略……

漏洞说明:程序安装完成后,会将填写的数据库账号、密码、库名保存在网站根目录的“yes.txt”内。

利用方式:这个就不用解释了吧,直接连接 Mysql 数据库,提权服务器或日后台都行,Fucking...

官方修复:官方已在‎ 2012‎年‎3‎月‎2‎日 ‏14:38:39 修复了漏洞,仅仅是在写入 yes.txt 之前,添加了一行代码替换了变量内容,代码如下:

$str = "感谢您使用贤诚文章管理系统做为建站程序。";

站长评论:如果是漏洞的话,这也太2B了,我猜是给站长备份数据库账号密码用的,或者是程序员漏写这行:$str = "感谢您使用贤诚文章管理系统做为建站程序。";