我們在使用
受影響系統:
PHP PHP <= 5.3
PHP preg_match()函數描述:
PHP是廣泛使用的通用目的腳本語言,特別適合於Web開發,可嵌入到HTML中。
PHP所使用的preg_match()函數從用戶輸入字符串獲得參數,如果所傳送的值為數組而不是字符串就會生成警告,警告消息中包含有當前運行腳本的完整路徑。
- < *來源:David Vieira-Kurz
- 鏈接:http://marc.info/?l=bugtraq
&m=125415056222332&w=2- *>
PHP preg_match()函數測試方法:
臨時解決方法:
- < ?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 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