最近看服务器的日志,发现出现多个很奇怪的访问记录:
后面还有这样的日志:
GET /Runtime/phpinfo2.php?e=assert&pass=phpinfo(); HTTP/1.1" 200 12306
网站被人插了一句话木马无疑。
疑问就是形似这样的请求?=PHPE9568F34-D428-11d2-A769-00AA001ACF42是啥意思,看样子后面的部分有点像是session,如果是个参数的话也没见过像这样直接通过?=传递的参数,难道该页面通过特别的URI解析方式来确认使用者身份?由于文件已经被入侵者删除,也没法确认这一点,但感觉应该可能性不大。
后来查阅资料时发现了这篇文章:http://phpsadness.com/sad/11
原来在比较早的Php版本里内置了一些php彩蛋,类似google浏览器的小恐龙???
只要在运行了5.5之前版本Php的网站域名后面输入下面的字符参数,就可以看到些logo图片之类。
?=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:
”彩蛋“只有这4种,且这个功能在早版本php里是默认开启的,由于并没有泄露什么东西,也不必把它当作漏洞。不过据说有些扫描器会将提交这些请求来判断网站是不是php语言,并且可以用来判断php版本是不是小于5.5,由此来找一些已知的版本漏洞来进行攻击。
这个功能在Php 5.5版本已经弃用,如果要手动关闭这个功能,只要在php.ini里将expose_php改为Off即可。