中间件漏洞总结-Nginx 篇

地球胖头鱼 2021-02-20
Web安全 发布于 2021-02-20 10:45:50 阅读 112 评论 0

简介

Nginx 是一款 轻量级的 Web 服务器、 反向代理 服务器及 电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少, 并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好

文件解析漏洞

成因

对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加test.jpg/x.php进行解析攻击。

复现

找到网站根目录,新建一个GIF的文件,然后在里面写入phpinfo()这个函数并且在浏览器中打开。

利用文件解析漏洞,输入192.168.139.129:100/i.gif.2.php,发现无法解析

 将/etc/php5/fpm/pool.d/[www.conf](http://www.conf/)security.limit_extensions = .php中的.php删除

然后我们再次在浏览器中打开,神奇的发现我们成功解析了出来。

修复

  1. php.ini文件中的cgi.fix_pathinfo的值设为0.这样php在解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404;

  2. /etc/php5/fpm/pool.d/www.conf中security.limit_ectensions后面的值设为.php

目录遍历

成因

Nginx的目录遍历与Apache一样,属于配置方面的问题,错误的配置可到导致目录遍历与源码泄露。

复现

尝试打开test目录,发现无法打开。

修改/etc/nginx/sites-avaliable/default,在如下图所示的位置添加autoindex on

再次尝试访问,即可成功。

修复

/etc/nginx/sites-avaliable/default里的autoindex on改为autoindex off

CRLF 注入

成因

CRLF时回车+换行,\r\n的简称。

HTTP HeaderHTTP Body时用两个CRLF分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来。

通过控制HTTP消息头中的字符,注入一些恶意的换行,就能注入一些会话cookie或者html代码,由于Nginx配置不正确,导致注入的代码会被执行。

复现

老样子,先访问页面然后burpsuite抓包,在请求上加上/%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>,应为页面重定向所以没有弹窗。

中间件漏洞总结-Nginx篇

修复

Nginx的配置文件/etc/nginx/conf.d/error1.conf修改为使用不解码的url跳转。

目录访问

成因

Nginx反向代理,静态文件存储在/home/下,而访问时需要在url中输入files,配置文件中/files没有用/闭合,导致可以穿越至上层目录。

复现

正常访问地址,然后在URl后面添加files然后出现下图页面。

中间件漏洞总结-Nginx篇

如果在在url后面访问files..就会触发这个漏洞,然后出现下图页面。

中间件漏洞总结-Nginx篇

修复

Nginx的配置文件/etc/nginx/conf.d/error2.conf/files使用/闭合。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
地球胖头鱼
未填写
  • 作者发布文章207
  • 作者收获粉丝7
  • 作者收到点赞0
  • 所有文章被收藏了1
  • 博客总访问量排行第2
  • 博客总访问量4.5 万(每日更新)
查看所有博文