小灰博客--小灰IT技术博客 | sky00.com

阻止PHP彩蛋信息泄漏[转]

Easter Eggs(复活节彩蛋)外行人估计不了解这是神木玩意,彩蛋的网络解释是:用于电脑、电子游戏、电脑游戏、影碟或其他互动多媒体之中的隐藏功能或信息。PHP包含一个安全漏洞,可能导致未经授权的信息披露,如果你正在运行PHP,就有可能会被人发现PHP版本和其他敏感信息。我觉得有必要解决这个彩蛋问题来确保你网站的安全性。

PHP彩蛋是如何运作的
只要运行PHP的服务器上,访问任何网页都可以在域名后添加以下字符串来查看信息:

?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (PHP信息列表)
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 (PHP的LOGO)
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 (Zend LOGO)
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 (PHP LOGO 蓝色大象)


?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000


?=PHPE9568F34-D428-11d2-A769-00AA001ACF42


?=PHPE9568F35-D428-11d2-A769-00AA001ACF42


?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

当然,如果漏洞存在才可以通过以上来查看到信息,现在一般网站都已经屏蔽了。但如果存在说明其expose_php是启用状态,PHP将生成页面发送出PHP版本信息,这样一些”坏人”就知道了你的版本号来利用已知的版本漏洞来进行攻击。

如何阻止彩蛋
一般情况下如果你的服务器支持编辑php.ini文件,我们可以把php.ini里的expose_php设为Off就可以屏蔽了。如果你不能操作php.ini文件,也可以通过设置.htaccess来进行屏蔽。

RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC]
RewriteRule .* – [F]
通过以上两种方法,我们可以屏蔽一些PHP信息,一些服务器默认设置expose_php是开启的,所以来看我这篇文章的朋友们最好是把它关闭了。

Really appreciate it Jeff Starr‘s post expose_php, Easter Eggs, and .htaccess.

转自:http://ilikecss.com/blog/expose-php-easter-eggs/

示例:
http://wowo.haotui.com/space.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
http://en.wikipedia.org/w/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
http://www.zend.com/en/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:

一条评论

  1. 小草元说道:

    expose,当初设计这玩意什么目的呢?远程维护方便?只是显示个版本……



发表评论

邮箱地址不会被公开。 必填项已用*标注