网站地图    收藏   

主页 > 后端 > 网站安全 >

用友ICC网站客服系统远程代码执行漏洞及修复

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

[导读] www.2cto.com:我们的荣誉版主又现身了该程序的/home/ecccs/web/5107/upload/uploadFlash.php文件存在严重的逻辑错误!导致漏洞产生!以上大型网站的客服系统全部可以通过此漏洞获取管理权限!?php/*...

www.2cto.com:我们的荣誉版主又现身了

该程序的
/home/ecccs/web/5107/upload/uploadFlash.php
文件存在严重的逻辑错误!
导致漏洞产生!
以上大型网站的客服系统全部可以通过此漏洞获取管理权限!
 
 
<?php
/**
 * uploadFlash.php
 * Flash文件上传.
 */
require_once('../global.inc.php');
 
//operateId=1 上传,operateId=2 www.2cto.com 获取地址.
$operateId      = intval($_REQUEST['operateId']);
if(empty($operateId)) exit;
 
if($operateId == 1){
       $date = date("Ymd");
       $dest = $CONFIG->basePath."data/files/".$date."/";
       $COMMON->createDir($dest);
       //if (!is_dir($dest))  mkdir($dest, 0777);
      
       $nameExt = strtolower($COMMON->getFileExtName($_FILES['Filedata']['name']));
      
       $allowedType = array('jpg', 'gif', 'bmp', 'png', 'jpeg');
      
       if(!in_array($nameExt, $allowedType)){
              $msg = 0;
       }
       if(empty($msg)){
              $filename = getmicrotime().'.'.$nameExt;
              $file_url = urlencode($CONFIG->baseUrl.'data/files/'.$date."/".$filename);
             
              $filename = $dest.$filename;
              if(empty($_FILES['Filedata']['error'])){
                     move_uploaded_file($_FILES['Filedata']['tmp_name'],$filename);
              }
             
              if (file_exists($filename)){
                     //$msg = 1;
                     $msg = $file_url;
                     @chmod($filename, 0444);
              }else{
                     $msg = 0;
              }
       }
       $outMsg = "fileUrl=".$msg;
       $_SESSION["eoutmsg"] = $outMsg;
       exit;
}else if($operateId == 2){
       $outMsg = $_SESSION["eoutmsg"];
       if(!empty($outMsg)){
              session_unregister("eoutmsg");
              echo '&'.$outMsg;
              exit;
       }else{
              echo "&fileUrl=0";
              exit;
       }
}
 
function getmicrotime(){
    list($usec, $sec) = explode(" ",microtime());
    return ((float)$usec + (float)$sec);
}
 
?>

修复方案:

速度联系用友升级吧.这套系统里不是只有这么一个问题.我记得还有一个.临时找不到了.你们自己挖吧.

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

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

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

添加评论