74cms_v3.1.20120214中任意web目录打包下载。。。很有意思的 漏洞 74cms后台有一个备份模板的功能,程序会自动备份选中的模板并压缩 下载 ,但是没有对用户提交的$tpl变量进行检查就带入函数,导致构造变量即可打包任意目录并下载。。 看代码。。 在admin/admin_template.php 第47行 elseif ($act == 'backup') { check_token(); check_permissions($_SESSION['admin_purview'],"tpl_backup"); require_once(ADMIN_ROOT_PATH.'include/admin_phpzip.php'); $tpl = trim($_REQUEST['tpl_name']); //$filename受$tpl影响 $filename = 'temp/backup_templates/' . $tpl . '_' . date('Ymd') . '.zip'; $zip = new PHP Zip; // www.2cto.com 没有检查tpl_name的有效性就直接调用zip进行压缩 //由于$filename也受$tpl控制,导致如果遍历层数大于三层web程序会把压缩文件 //放入web目录外。。 $done = $zip->zip('templates/' . $tpl . '/', $filename); if ($done) { header("Location:".$filename.""); } else { adminmsg("操作失败!",0); } } 更改tpl_name,我们下载data文件夹 修复方案: 过滤吧亲 作者 猪头子
查看更多关于骑士cms任意目录打包下载漏洞(74cms v3.1.20120214)的详细内容...