一、情况分析
漏洞背景
phpStudy是一个PHP调试环境的程序集成包,兼容Windows和Linux系统,支持Web端管理,可以一键创建网站、FTP、数据库等,实现了文件管理,PHP多版本共存及切换等功能。近日,监测到网络上出现了phpStudy Windows版本存在nginx解析漏洞,并进行了复现和分析。
漏洞原理
该漏洞属于nginx中间件的解析漏洞,phpStudy使用了较低的nginx版本,导致存在该漏洞。
① 由于nginx.conf中存在如下默认配置,使得nginx在解析后缀为.php的文件时,会转交给fastcgi处理。
② 配置文件php.ini中存在参数cgi.fix_pathinfo,默认值为1,主要用于修复路径,若当前路径不存在则会解析上层路径的文件。因此如果构造访问地址为http://ip/path/1.jpg/x.php(其中1.jpg是上传的包含php代码的图片文件,x.php可以是服务器中任意一个不存在的php文件),则会导致fastcgi处理的文件就变成/1.jpg。
③ 同时,配置文件php-fpm.conf中的security.limit_extensions参数值为空,没有限制fastcgi的解析类型,即任意后缀名的文件都会当成php文件进行解析执行。
漏洞复现
针对该漏洞的利用方式已公开,请受影响的用户及时处理,漏洞利用成功的截图如下:
二、影响范围
phpStudy <= 8.1.0.7 for Windows
三、处置建议
目前官方尚未发布该漏洞修复补丁,请采用如下临时缓解方案:
在php.ini中设置cgi.fix_pathinfo参数值为0,并启用该选项。
Copyright@ 2021 太阳集团www0638vom|首页(欢迎您) ICP备案号:辽ICP备2021007546号 Mail:city_2003@126.com
地址:中国·辽宁·大连市保税区广宁路1号 电话:0411-62695090 传真:0411-62695088 邮编:116600