重要通知: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手机网站系统