Nginx错误配置解析漏洞
条件(不受php、nginx的版本限制)
(1)、php解析配置文件php.ini中参数cgi.fix_pathinfo设置为1
(2)、php-fpmConf中security.limit_extension参数为空或为错误的解析后缀
(3)、nginx网页具有文件上传点
配置参数介绍:
Cgi.fix_pathinfo为php-fpm对错误路径进行修复
Security.limit_extension为php-fpm支持的后缀代码解析
实验原理
例如:“1.jpg/a.php“,a.php为不存在的文件,1.jpg为上传的恶意图片马。Fastcgi匹配后缀为.php的规则后将该URL请求发送给php-fpm,php-fpm对这个URL进行路径解析,由于a.php文件不存在,触发配置cgi.fix_pathinfo的路径修复及检测php-fpm.conf中security.limit_extension支持的解析后缀,如果前级的文件存在且后缀在security.limit_extension中则php-fpm在尝试下一级文件当作php文件解析,触发图片马,导致任意代码执行漏洞
注意事项:图片马的大小要尽可能小,用以出现语法错误等问题
实验搭建
(1)下载Vulhub容器环境服务器IP:...
(2)上传图片马
(3)”/var/