IT技术互动交流平台

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

发布日期:2012-06-08 20:01:05

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.it165.net 没有检查tpl_name的有效性就直接调用zip进行压缩
        //由于$filename也受$tpl控制,导致如果遍历层数大于三层web程序会把压缩文件
        //放入web目录外。。
       $done = $zip->zip('../templates/' . $tpl . '/', $filename);
              if ($done)
              {
              header("Location:".$filename."");
              }
              else
              {
              adminmsg("操作失败!",0);
              }
       }


 

更改tpl_name,我们下载data文件夹
 


 


 


 


 

修复方案:

过滤吧亲

作者 猪头子

延伸阅读:

Tag标签: 骑士cms   打包下载漏洞  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规