mcms手机建站之星设计缺陷导致数据库被下载

2014-05-12T00:00:00
ID SSV:95227
Type seebug
Reporter Root
Modified 2014-05-12T00:00:00

Description

简要描述:

相比于之前的文件包含,这个影响更严重吧

详细说明:

mcms后台dbbak.php,是对数据库进行备份处理的文件 304行,备份具体表:

$handle = fopen($dbkdir . $tablename . "_" . $pageid . ".sql.","wb"); fputs($handle, $bakupdata); fclose($handle); unset($bakupdata); $selfurl = "dbbak.php?m=save&tableid=".$tableid."&startid=".($startid)."&pageid=".($pageid+1)."&table=$tables"; echo ('<script type="text/javascript">setTimeout(function(){window.location.href="' . $selfurl . '";},1000);</script>'); echo '<br />'; echo "正在备份数据表 <font color='red'>".$tablename."</font> 信息,当前已经写入第 ".($pageid+1)." 页,即将写入第 ".($pageid+2)." 页信息"; die();

我们可以看到,文件名直接是$dbkdir . $tablename . "_" . $pageid . ".sql $pageid是分页,$tablename是表名,$dbdir是目录名。 如果数据库进行了备份,我们可以直接猜测到备份文件名称,然后进行下载。

漏洞证明:

装好系统后,我在后台进行一次备份。 然后来到backup目录:

<img src="https://images.seebug.org/upload/201405/10155129698af02aab0fb969a397fef114b4bfdc.jpg" alt="02.jpg" width="600" onerror="javascript:errimg(this);">

看到各个表的备份已经躺在那里了,文件名没有任何随机字符串 管理员密码就在mcms_admin_list_0.sql中:

<img src="https://images.seebug.org/upload/201405/101552197f78c38d2d9ab94cc01cbb05570cd4c4.jpg" alt="03.jpg" width="600" onerror="javascript:errimg(this);">

随便找了一个使用该系统的网站验证,可以下载数据库备份拉: http://www.ydfsmj.com/backup/mcms_admin_list_0.sql