• 阿里云提出的漏洞(Phpcms V9某处逻辑问题导致getshell漏洞解决方法)的问题


    最近从阿里云云盾检测流出来的,相比使用阿里云服务器的朋友已经收到漏洞提醒:Phpcms V9某处逻辑问题导致getshell漏洞解决方法,这个漏洞怎么办呢?CMSYOU在这里找到针对性解决办法分享给大家。

    漏洞详情:

    漏洞名称:phpcms某处逻辑问题导致getshell
    补丁编号:7843523
    补丁文件:/phpcms/libs/classes/attachment.class.php
    补丁来源:云盾自研
    更新时间:2016-09-20 13:03:10
    漏洞描述:phpcms的/phpcms/libs/classes/attachment.class.php中,对输入参数$ext未进行类型限制,导致逻辑漏洞的产生。
    【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了改漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】

    具体解决方法:

    修改/phpcms/libs/classes/attachment.class.php文件143行左右的download方法,在方法开始位置加入:

    1     $extarr = explode('|',strtolower($ext));
    2     $allow_extarr = array('gif','jpg','jpeg','bmp','png');
    3     foreach ($extarr as $theext) {
    4     if(!in_array(strtolower($theext),$allow_extarr)){
    5     exit('the file ext is not allowed');
    6     exit(0);
    7     }
    8     }

    这样,加入一个判断,如果允许的文件格式是'gif','jpg','jpeg','bmp','png'这些,就继续,不然就跳出,当然这里的格式可以根据需要增多几个。

    阿里云主机会针对phpcms漏洞检测,有些可以忽略,因为毕竟phpcms还是没有弱,部分可以针对性打补丁哈,以上代码经过测试,希望对大家有用,有疑问可以留言探讨!

    /*$extArray=explode('|',$ext);
            if(!empty($extArray) && is_array($extArray)){
            foreach($extArray as $k => $v){
            if(!in_array(strtolower($v), array('gif','jpg','jpeg','bmp','png'))); exit('0');//循环判断如果有一个不符合,直接返回 0
            }
            }*/

    文章来自:http://www.cmsyou.com/support/166.html

  • 相关阅读:
    机器学习-分类简单介绍
    状态压缩动态规划 -- 旅行商问题
    30 天学习 30 种新技术系列
    Sublime Text3 高亮显示Jade语法 (Windows 环境)
    程序启动缓慢-原来是hbm.xml doctype的原因
    Spring4 Hibernate4 Struts2在WebLogic 10.3.3上面部署
    Spring的 classpath 通配符加载配置文件
    nmp install 异常
    cvc-complex-type.2.4.c: The matching wildcard...
    LazyInitializationException--由于session关闭引发的异常
  • 原文地址:https://www.cnblogs.com/xiaomifeng/p/6720345.html
Copyright © 2020-2023  润新知