从未想过,phpinfo页面居然有这么大的漏洞,在我想来,这纯粹是一个输出页面,怎么会有漏洞呢?
看了
漏洞说明: php是一款被广泛使用的编程语言,可以被嵌套在html里用做web程序开发。phpinfo()是用来显示当前php环境的一个函数,许多站点和程序 都会将phpinfo放在自己的站点上或者在程序里显示,但是phpinfo里存在一些安全问题,导致精心构造数据就可以产生一个跨站脚本漏洞,可以被用 来进行攻击。
漏洞成因: phpinfo页面对输入的参数都做了详细的过滤,但是没有对输出的进行charset的指定,而在一些浏览器里如IE7里,你可以让它自动选择编码或者通过一个iframe页面给它指定编码,这样就可以饶过phpinfo的过滤而产生一个跨站脚本漏洞。
漏洞来源: http://www.80sec.com/release/phpinfo-xss.txt
漏洞利用: 利用代码如下:
<html>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7">
</head>
<body>
<iframe src="http://www.80sec.com/phpinfo.php?+ADw-SCRIPT+AD4-alert(document.domain);+ADw-/SCRIPT+AD4-=1">
以上代码在IE7+php 5.2.6测试成功。phpinfo页面的xss甚至比其他页面更加危险,因为如果有phpinfo的存在,恶意攻击者可以利用phpinfo的输出bypass如httponly和一些基础认证。
漏洞影响: 影响所有版本的php和浏览器IE7
漏洞修补: 建议暂时删除站点的phpinfo页面避免被人利用。
太吃惊了