PHP PHPInfo函数跨站脚本漏洞
发布日期:2007-03-03
更新日期:2007-03-06
受影响系统:PHP PHP 4.4.3 - 4.4.6
描述:
BUGTRAQ ID:
22803
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
phpinfo()函数可以显示有关PHP当前环境的详细信息,包括所发送请求变量的dump。该函数在显示GET、POST或COOKIE变量中所提供的数组内容时没有进行转义,允许攻击者通过特制请求执行跨站脚本攻击。
<*来源:Stefan Esser (
s.esser@ematters.de)
链接:
http://secunia.com/advisories/24356/
http://www.php-security.org/MOPB/MOPB-08-2007.html
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
--TEST--
[SECURITY] phpinfo() simple XSS test
--SKIPIF--
<?php
////////////////////////////////////////////////////////////////////////
// _ _ _ _ ___ _ _ ___ //
// | || | __ _ _ _ __| | ___ _ _ ___ __| | ___ | _ \| || || _ \ //
// | __ |/ _` || '_|/ _` |/ -_)| ' \ / -_)/ _` ||___|| _/| __ || _/ //
// |_||_|\__,_||_| \__,_|\___||_||_|\___|\__,_| |_| |_||_||_| //
// //
// Proof of concept code from the Hardened-PHP Project //
// (C) Copyright 2007 Stefan Esser //
// //
////////////////////////////////////////////////////////////////////////
// PHP 4 - phpinfo() XSS Testcase //
////////////////////////////////////////////////////////////////////////
if (php_sapi_name()=='cli') echo 'skip'; ?>
--POST--
a[]=<script>XSS</script>
--GET--
--FILE--
<?php
ob_start();
phpinfo();
$result = ob_get_contents();
ob_end_clean();
if (strstr($result, '<script>XSS</script>')) {
echo "XSS";
} else {
echo "noXSS";
}
?>
--EXPECT--
noXSS
建议:
厂商补丁:
PHP
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.php.net浏览次数:5384
严重程度:0(网友投票)