网盾网络安全培训学校,微信号:18696195380/18672920250 (微信同号)



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

2022-10-31 渗透测试培训 728


  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:192.168.190.132

  (2)上传图片马

  (3)”/var/www/html/”通常为nginx的网页根路径,获取图片位置之后 访问构造的特定url:

  192.168.190.132/upload/bb00f7fb8c94c2029b81bcf87915d7a0.jpg/1.php触发php代码

  (4)通过蚁剑连接获取webshell