首页 > php框架 > 测试PHP preg_match()函数信息泄露方法介绍

测试PHP preg_match()函数信息泄露方法介绍

我们在使用

受影响系统:

PHP PHP <= 5.3

PHP preg_match()函数描述:

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

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

  1. <*来源:David Vieira-Kurz  
  2. 链接:http://marc.info/?l=bugtraq
    &m=125415056222332&w=2 
  3. *> 

PHP preg_match()函数测试方法:

临时解决方法:

  1. < ?PHP  
  2. if(isset($_GET[page])) {  
  3. if (is_array($page = $_GET[page])) {   
  4. $casted = (string)$page;  
  5. } else {  
  6. $page = htmlspecialchars($_GET
    [page],ENT_QUOTES,UTF-8);  
  7. validate_alpha($page);  
  8. }  
  9. }  
  10. function validate_alpha($page) {  
  11. return preg_match("/^[A-Za-z0-9_-]
    +$/ ", $page);  
  12. ?> 

厂商补丁:

目前厂商还没有提供PHP preg_match()函数出现漏洞的相关补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.php.net

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

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


永久链接:http://www.phprm.com/frame/php1004013.html

转载随意!带上文章地址吧。

标签:none

发表留言