好吧,原文谢绝转载,那我就重写一个吧,这应该不算转载了吧……
漏洞名称: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 = "感谢您使用贤诚文章管理系统做为建站程序。";