PHP preg_match()函数信息泄露漏洞

2009-09-30T00:00:00
ID SSV:12410
Type seebug
Reporter Root
Modified 2009-09-30T00:00:00

Description

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP所使用的preg_match()函数从用户输入字符串获得参数,如果所传送的值为数组而不是字符串就会生成警告,警告消息中包含有当前运行脚本的完整路径。

PHP <= 5.3 临时解决方法:

<?PHP if(isset($_GET['page'])) { if (is_array($page = $_GET['page'])) {

      $casted = (string)$page;
  } else {
     $page = htmlspecialchars($_GET['page'],ENT_QUOTES,'UTF-8');
     validate_alpha($page);
    }

} function validate_alpha($page) { return preg_match("/^[A-Za-z0-9_-]+$/ ", $page); } ?>

厂商补丁:

PHP

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.php.net

                                        
                                            
                                                http://localhost/cms/modules/system/admin.php?fct=users&amp;op[]=

Warning: preg_match() expects parameter 2 to be string, array given in
/htdocs/cms/include/common.php on line 105