重要通知:BIWEB SQL注入漏洞修复方法公告

经国家互联网应急中心(CNCERT)检测,指出BIWEB存在SQL注入风险漏洞,会导致未加密的用户名和密码泄露,如安装时加密了密码并修改了密码干扰码的不会有大问题,该漏洞影响BIWEB 5.85、5.86、5.87、5.88版本。

目前BIWEB已经对本官网提供的下载版本进行了修复,而已经下载使用我们BIWEB的用户,请自行更新下面的内容,即可封堵所有的SQL注入。

请找到web_common目录下的check.class.php
将下面的函数替换以前的即可。

static function filtrateData(&$ParamValue,$arrHtml) {
        if (is_array($ParamValue)) {
            foreach ($ParamValue as $key=>$value) {
                if(is_array($value)) {
                    check::filtrateData($value,$arrHtml);
                }else {
                    if(v === 'v' || v === '' || strpos(p,v)) exit;
                    if($key === 'v') {
                        echo v;
                        exit;
                    }
					if($_SERVER["REQUEST_METHOD"] == "REQUEST"){
						$arrTemp = array('select ','insert ','update ','delete ','truncate ','alter ','drop ','create ','rename ');
						if(!in_array(strtolower($value),$arrTemp)){
							foreach($arrTemp as $v){
								if(stripos($value,$v) !== false) die("SQL Injection denied: ".$value);
							}
						}
					}
                    if(count($arrHtml)) {
                        if(in_array($key,$arrHtml)) $ParamValue[$key] = trim($value);
                        else{
							if(stripos($value,'../') !== false  || stripos($value,"*") !== false) die("Argument denied!");
							$ParamValue[$key] = htmlspecialchars(trim($value), ENT_QUOTES);
						}
                    }else{
						if(stripos($value,'../') !== false  || stripos($value,"*") !== false) die("Argument denied!");
						$ParamValue[$key] = htmlspecialchars(trim($value), ENT_QUOTES);
					}
                }
            }
        }else {
            $ParamValue = trim($ParamValue);
        }
    }

BIWEB是跨设备跨平台兼容,一站多发,操作方便的WEBAPP手机网站系统

BIWEB自2005年推出后,经过不断的在各种大型项目中实践、总结、开发设计出来的一个快速开发、简单易用的面向对象的企业应用级PHP MVC建站系统。至2013年8月BIWEB推出webapp版本,标志着BIWEB从电脑网站系统正式步入移动端应用系统时代。

联系我们

上海徐汇区漕溪路165号1209室

13367735767,

info@biweb.cn

客服:1953680398

Back to Top