程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 測試PHP preg_match()函數信息洩露方法介紹

測試PHP preg_match()函數信息洩露方法介紹

編輯:關於PHP編程

我們在使用

受影響系統:

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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved