- 发现时间:
- 2016-11-11
- 漏洞类型:
- 代码执行
- 所属建站程序:
- 其他
- 所属服务器类型:
- IIS
- 所属编程语言:
- PHP
- 描述:
- 目标存在任意代码执行漏洞。
漏洞形成原因:PHP默认配置有误,IS+PHP fastcgi模式在解析PHP文件时存在缺陷,导致任意文件会被服务器以PHP格式解析,从而导致任意代码执行。
验证方式:打开目标页面后在原URL后添加/test.php
示例:在http://www.xxx.com/123.jpg后输入/test.php并回车,使用抓包工具查看响应头信息,如果包含PHP/x.x.x即可证明漏洞存在。
部分浏览器免费抓包工具:
360浏览器:工具–>开发人员工具
IE浏览器:工具–>F12开发人员工具
Firefox:搜索下载Firebug插件–>F12呼出
Chrome:点击右上角的菜单–>工具–>开发者工具
- 危害:
- 攻击者可以利用该漏洞直接在网站执行任意代码,可能直接控制网站服务器,盗取网站数据,影响网站的正常运营。
- 解决方案:
- 一、更换PHP默认的Fastcgi模式为ISAPI模式(只能运行于Windows环境)
1.下载PHP的ZIP文件包,下载地址http://www.php.net(注意版本要对应)
2.将sapi目录中的:php4isapi.dll复制到c:\php目录中
3.进入虚拟主机管理平台的”网站管理”-“虚拟主机”–服务器设置中,修改PHP的影射,将原来的:
.php,C:\PHP\php.exe,5,GET,HEAD,POST,TRACE| 改成: .php,C:\PHP\php4isapi.dll,5,GET,HEAD,POST,TRACE|
4.(IIS 6才需要)打开IIS管理器,点击Web服务扩展,点击php的属性,“要求的文件”—添中–选中“C:\PHP\php4isapi.dll”,确定后,PHP就可以调用。
二、在条件允许的情况下(咨询网站工程师),更改php.ini中的配置参数cgi.fix_pathinfo值为0