为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 nginx 解析php漏洞

nginx 解析php漏洞

2018.06.01 15:43 1758浏览

测试过nginx诸多版本,都有该漏洞。
漏洞场景: nginx + php-cgi
漏洞重现:
在网站根目录上传一个文件1.jpg
内容为:

<?php
echo 111;
?>

复制代码

这样访问: http://yourdomain/1.jpg/123.php  //这里的123随意定义,写成abc也行,关键后边是.php
这样就能解析php了  结果为
111

这似乎很危险,如果作为系统管理员的你不知道该漏洞,那么别有用心的小人在你的网站上传了本是php内容的“图片”,毕竟你的网站是允许上传图片的。,如果他上传了木马,那么后果不堪设想。
至于原理,等会再讲,先说说如何解决该漏洞。

解决方法也很简单,打开php.ini
设置 cgi.fix_pathinfo=0
注意,默认这个参数是注释掉的,当然默认值肯定不是0,所以有必要把注释号去掉,打开该参数。

为什么会有这样的漏洞呢?这是因为:
nginx的location对请求进行选择的时候会使用URI环境变量进行选择,其中传递到后端Fastcgi的关键变量SCRIPT_FILENAME由nginx生成的$fastcgi_script_name决定,而通过分析可以看到$fastcgi_script_name是直接由URI环境变量控制的,这里就是产生问题的点。


点击查看更多内容
PHP
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
81
获赞与收藏
363

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

51篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

151篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消