ecsho后台任意用户可以下载整站源码

2013-05-05T00:00:00
ID SSV:93485
Type seebug
Reporter Root
Modified 2013-05-05T00:00:00

Description

简要描述:

ecshop(2.5以上版本全部存在)只要有后台帐号即可下载整站源码

详细说明:

PS:默认安装如果选择了安装测试数据就会多出2个帐号。本文从这两个帐号开始! 这个漏洞存在ec2.5以上的所有版本中 漏洞发生在 admin/template.php 行575 模版备份处

if ($_REQUEST['act'] == 'backup') { include_once('includes/cls_phpzip.php'); $tpl = trim($_REQUEST['tpl_name']); $filename = '../temp/backup/' . $tpl . '_' . date('Ymd') . '.zip'; $zip = new PHPZip; $done = $zip->zip('../themes/' . $tpl . '/', $filename); if ($done) { make_json_result($filename); } else { make_json_error($_LANG['backup_failed']); } }

问题1 这里没有检查当前用户是否有权限操作 问题2 没有对参数tpl_name进行过滤和限制 导致问题的产生。

漏洞证明:

访问备份地址和要备份的目录

<img src="https://images.seebug.org/upload/201305/05163332eaea2b53013260fdbb72a14cea661827.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">

备份成功的时候可以看到备份成功的地址 进行下载

<img src="https://images.seebug.org/upload/201305/05163348455ca3e8234109371d8213c25e186e86.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">

打开看看正常与否

<img src="https://images.seebug.org/upload/201305/051634589cef2eea7d05caf180c82fea40cdbba4.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">