CLTPHP一套根据PHP开发设计,mysql数据库架构的企业网站cms系统,基本编码是用thinkphp5的编码开发设计进行,无论是PC端還是移动端都选用layui响应式的架构来供客户浏览网站,该系统软件包括很多第三方的控制模块,数据库查询协同管理,会员管理系统,微信接口管理方法,模版管理方法,正由于CLTPHP的智能,简约,便捷,空气,有利于开发设计,备受各大网站制作公司的喜爱,好的一面也是不够的一面,SINE网站安全公司其企业网站开展渗透测试服务的另外,发觉该CLTPHP企业网站存有高危系统漏洞,针对系统漏洞的详细信息与漏洞补丁我们来渐渐地分析。 我们在进行网站安全检测中,发觉了一处文档随意提交系统漏洞,不用一切客户的管理权限,普通的浏览客户就能够提交随意文档到CLTPHP企业网站网站根目录下,造成可提交企业网站木马病毒文档,包含php木马病毒,php一句话木马都能够提交。 企业网站系统漏洞文档部位存有于:app文件目录下的user文件夹名称里的UpFiles.php文档 namespaceapp\user\controller; classUpFilesextendsCommon { publicfunctionupload(){ //获得文件上传表格字段名 $fileKey=array_keys(request()->file()); //获得表格文件上传 $file=request()->file($fileKey['0']); //挪动到架构运用根目 录/public/uploads/文件目录下 $info=$file->move(ROOT_PATH. 'public'.DS.'uploads'); if($info){ $result['code'] =1; $result['info']='上传图片取得成功!'; $path=str_replace('\\','/',$info->getSaveName()); $result ['url']='/uploads/'.$path; return$result; }else{ //提交不成功获得错误 $result['code']=0; $result['info']='上传图片不成功!'; $result['url']=''; return$result; } } } 在上边的这一段网站源码里,沒有对客户的管理权限开展分辨造成一般的客户都能够浏览该表格里的內容,并立即避过提交随意文档进来,我们来再次看看这一段编码里的move涵数,锁住到think文件目录下的library文档里的file.php编码: /*挪动文档*/ if($this->isTest){ rename($this- >filename,$filename); }elseif(!move_uploaded_file($this- >filename,$filename)){ $this->error='上传文件储存不正确!'; returnfalse; } //回到File目标案例 $file=newself($filename); $file->setSaveName($saveName); $file->setUploadInfo($this->info); return$file; } /** *获得储存文件夹名称 *@paramstring|bool$savename储存的文件夹名称 默认设置全自动转化成 *@returnstring */ protectedfunction buildSaveName($savename) { if(true===$savename){ //全自动转化成文件夹名称 if($this->ruleinstanceof\Closure){ 我们能够看见该编码会全自动转化成文件夹名称,假如我们仿冒文件上传的文件格式,并避过提交编码里的格式文件分辨就会造成转化成我们特定的随意文档。在这一文档中里的validate是默认设置的值,如在挑用thinkphp基本编码里的提交作用是,我们见到CLTPHP的配备不善在check函数分辨,沒有合理对文档的文件格式开展检验,能够提交企业网站脚本制作木马病毒,并操纵全部企业网站,甚至是网络服务器的访问权限。 对提交网页页面开展安全验证,对客户的管理权限开展分辨,对文件上传的文件格式开展信用黑名单限定,或是是权限安全性限定,对提交的文件设定无脚本制作实行管理权限。 |