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

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

缺陷编号:
漏洞标题:
yuncart配置不当导致备份数据可被下载
相关厂商:
漏洞作者:
提交时间:
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@乌云


>

漏洞回应

厂商回应:

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