在PHP中使用FastCGI解析漏洞及修复方案


Posted in PHP onNovember 10, 2015

漏洞描述:

Nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。当访问http://192.168.1.102/phpinfo.jpg/1.php这个URL时,$fastcgi_script_name会被设置为“phpinfo.jpg/1.php”,然后构造成SCRIPT_FILENAME传递给PHP CGI。如果PHP中开启了fix_pathinfo这个选项,PHP会认为SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就会将phpinfo.jpg作为PHP文件来解析了。

漏洞危害:

WebServer Fastcgi配置不当,会造成其他文件(例如css,js,jpg等静态文件)被当成php脚本解析执行。当用户将恶意脚本webshell改为静态文件上传到webserver传递给后端php解析执行后,会让攻击者获得服务器的操作权限。

修复方案:

(Nginx用户可以选择方案一或方案二,IIS用户请使用方案一)

方案一,修改php.ini文件,将cgi.fix_pathinfo的值设置为0。完成后请重启PHP和NGINX(IIS)。

方案二,在Nginx配置文件中添加以下代码:

if ( $fastcgi_script_name ~ \..*\/.*php ) {

return 403;

}

这行代码的意思是当匹配到类似test.jpg/a.php的URL时,将返回403错误代码。修改完成后请重启Nginx。

PHP 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
让你同时上传 1000 个文件 (二)
Oct 09 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
php cc攻击代码与防范方法
Oct 18 PHP
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 #PHP
再推荐十款免费的php开发工具
Nov 09 #PHP
php开发工具有哪五款
Nov 09 #PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 #PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 #PHP
php实现mysql数据库连接操作及用户管理
Nov 08 #PHP
php实现处理输入转义字符的代码
Nov 08 #PHP
You might like
PHP date函数参数详解
2006/11/27 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
关于js内存泄露的一个好例子
2013/12/09 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
node.js实现快速截图
2016/08/27 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
2020/02/28 Javascript
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
Python程序控制语句用法实例分析
2020/01/14 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
python3跳出一个循环的实例操作
2020/08/18 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
南威尔士家居商店:Leekes
2016/10/25 全球购物
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
研究生自荐信
2013/10/09 职场文书
年终晚会活动方案
2014/08/21 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书