网站地图    收藏   

主页 > 后端 > 网站安全 >

骑士cms任意目录打包下载漏洞(74cms v3.1.20120214)

来源:自学PHP网    时间:2015-04-17 13:02 作者: 阅读:

[导读] 74cms_v3.1.20120214中任意web目录打包下载。。。很有意思的漏洞74cms后台有一个备份模板的功能,程序会自动备份选中的模板并压缩下载,但是没有对用户提交的$tpl变量进行检查就带入函数...

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 PHPZip;
        // 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文件夹
 
 
 
 
 





 
修复方案:

过滤吧亲

作者 猪头子

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论