4000-618-418

渗透测试篇之Nginx错误配置解析漏洞

2022年10月17日

                   Nginx错误配置解析漏洞

1、 条件(不受php、nginx的版本限制)

1)、php解析配置文件php.ini中参数cgi.fix_pathinfo设置为1

2)、php-fpmConf中security.limit_extension参数为空或为错误的解析后缀

3)、nginx网页具有文件上传点

 

2、 配置参数介绍:

   Cgi.fix_pathinfophp-fpm对错误路径进行修复

   Security.limit_extensionphp-fpm支持的后缀代码解析

3、 实验原理

  例如:“1.jpg/a.php“,a.php为不存在的文件,1.jpg为上传的恶意图片马。Fastcgi匹配后缀为.php的规则后将该URL请求发送给php-fpmphp-fpm对这个URL进行路径解析,由于a.php文件不存在,触发配置cgi.fix_pathinfo的路径修复及检测php-fpm.confsecurity.limit_extension支持的解析后缀,如果前级的文件存在且后缀在security.limit_extension中则php-fpm在尝试下一级文件当做php文件解析,触发图片马,导致任意代码执行漏洞

4、 注意事项:图片马的大小要尽可能小,用以出现语法错误等问题

5、 实验搭建

       1)下载Vulhub容器环境 服务器IP192.168.190.132

       2)上传图片马

图片 1 

图片 2

 

图片 3 

3)”/var/www/html/”通常为nginx的网页根路径,获取图片位置之后 访问构造的特定url:192.168.190.132/upload/bb00f7fb8c94c2029b81bcf87915d7a0.jpg/1.php触发php代码

图片 4 

 

4)通过蚁剑连接获取webshell

图片 5 


上一篇:渗透测试漏洞扫描-SSRF漏洞

下一篇:渗透测试之跨站脚本攻击漏洞