当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-087562

漏洞标题:yuncart配置不当导致备份数据可被下载

相关厂商:yuncart

漏洞作者: darker

提交时间:2014-12-18 17:00

修复时间:2015-03-18 17:02

公开时间:2015-03-18 17:02

漏洞类型:默认配置不当

危害等级:中

自评Rank:10

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-18: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-03-18: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

yuncart配置不当导致备份数据可被下载

详细说明:

public function backupok() {
include_once STAGEPATH."/dumpdb.class.php";
if(isset($_GET['tableorder'])) { //非第一次备份
$tableorder = intval($_GET["tableorder"]);
$tablepos = intval($_GET["tablepos"]);
$filename = trim($_GET["filename"]);
$vol = intval($_GET["vol"]);
$dumpdb = new Dumpdb($vol,$filename,$tablepos,$tableorder);
$dumpdb->dump_tables();
} else { //第一次备份
//获取所有表
$dumpdb = new Dumpdb();
$dumpdb->dump_tables();
}
if($dumpdb->getFinished()) { //已经结束
$this->adminlog('al_backup');
echo __("backup_finished")."<script>setTimeout(function(){ window.location.reload(); },1000)</script>";
//生成文件
$filetime = time();
$vol = $dumpdb->getNextVol() - 1;
$filename = $dumpdb->getFileName();
$crlf = $dumpdb->getDeLimiter();
$content = "filename={$filename}".$crlf
. "vol={$vol}".$crlf
. "filetime={$filetime}".$crlf;
;
$file = $dumpdb->getSqlFileDir() . "/{$filename}.bak";
cwritefile($file,$content);
} else {
$url = url("admin","data","backupok",
"tableorder={$dumpdb->getTableOrder()}&tablepos={$dumpdb->getTablePos()}&filename={$dumpdb->getFileName()}&vol={$dumpdb->getnextVol()}",false);
echo __("backup_vol",$dumpdb->getNextVol())."<script type='text/javascript'>$.oper.runjs('{$url}')</script>";
}

}


= =filename=time()
like:201412171801
规则为y+m+d+h+min
可穷举:

1.png


2.png

漏洞证明:

3.png

修复方案:

filename 的随机数加长点吧。

版权声明:转载请注明来源 darker@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝