中间件漏洞总结(二)- Nginx

(一) Nginx简介

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

(二)文件解析

  1、 漏洞介绍及成因

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

  2、 漏洞复现

    在网站根目录下新建一个i.gif的文件,在里面写入phpinfo()

    在浏览器中打开

    

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

    

    将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions = .php中的.php删除

    

    再次在浏览器中打开,成功解析

    

  3、 漏洞修复

    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

(三)目录遍历

  1、 漏洞简介及成因

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

  2、 漏洞复现

    打开test目录,发现无法打开

    

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

        

    再次访问

      

    

  3、 漏洞修复

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

(四) CRLF注入

  1、 漏洞简介及成因

    CRLF时“回车+换行”(\r\n)的简称。

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

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

  2、 漏洞复现

    访问页面,抓包

    请求加上/%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>

    

    由于页面重定向,并没有弹窗。

  3、 漏洞修复

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

(五) 目录穿越

  1、 漏洞简介及成因

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

  2、 漏洞复现

    访问:http://192.168.139.128:8081/files/

     

    访问:http://192.168.139.128:8081/files../

    成功实现目录穿越:  

    

  3、 漏洞修复

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

原文地址:https://www.cnblogs.com/ssw6/p/12098591.html

时间: 2024-11-05 13:25:47

中间件漏洞总结(二)- Nginx的相关文章

中间件漏洞之Nginx

Nginx解析漏洞 (CVE-2013-4547) 影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 漏洞简析 pathinfo是默认关闭的,只有.php后缀的文件会被发送给fastcgi解析 CVE-2013-4547的原理是通过非法字符空格和截止符(\0)会导致Nginx解析URI时的有限状态机混乱,危害是允许攻击者通过一个非编码空格绕过后缀名限制.当我们请求1.gif[0x20][0x00].php时,Nginx认为1.gif[0x20]的后缀名是.php

中间件漏洞总结(二)- Tomcat

(一) Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 HTML ( 标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行

中间件漏洞总结(二)- jBoss

(一) jBoss简介 jBoss是一个基于J2EE的开发源代码的应用服务器. JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用.JBoss是一个管理EJB的容器和服务器,支持EJB1.1.EJB 2.0和EJB3的规范.但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用. (二) 反序列化漏洞 1. 漏洞介绍及成因 Java序列化,简而言之就是把java对象转化为字节序列的过程.而反序列话则是再把字节序列恢复为java对象的过程

中间件漏洞总结(二)- Apache

(一) Apache简介 Apache 是世界使用排名第一的Web 服务器软件.它可以运行在几乎所有广泛使用的 计算机平台上,由于其 跨平台 和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充,将 Perl/ Python等 解释器编译到服务器中. (二) 解析漏洞 1. 漏洞介绍及成因 Apache文件解析漏洞与用户的配置有密切关系,严格来说属于用户配置问题. Apache文件解析漏洞涉及到一个解析文件的特性: Apache默认一个文件可以有多个以点分

15_安全配置与中间件漏洞

中间件包括: Apache Tomcat php-fpm redis resin weblogic jboss jenkins zabbix mongodb 等等. 一.Apache Tomcat Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展.Apache和Tomcat都可以作为独立的web服务器来运行,但是Apache不能解释java程序.Apache Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件

Web中间件漏洞

Nginx文件解析漏洞端口:80 攻击方法: 解析漏洞 目录遍历 CVE-2016-1247:需要获取主机操作权限,攻击者可通过软链接任意文件来替换日志文件,从而实现提权以获取服务器的root权限.参考: https://www.seebug.org/vuldb/ssvid-92538 漏洞等级 高危 漏洞描述 nginx文件解析漏洞产生的原因是网站中间件版本过低,可将任意文件当作php可执行文件来执行,可导致攻击者执行恶意代码来控制服务器. 漏洞危害 机密数据被窃取: 核心业务数据被篡改: 网

Nginx(二) Nginx主机配置、日志分割、日志自动备份

Nginx主机配置.日志分割.日志自动备份 一 主机配置以及按主机分割日志文件 1.在目录/usr/local/nginx/conf下 修改nginx.conf文件的server节点,并添加一个新的server节点 2.因为使用了Nginx默认的全局日志格式(main),这个日志格式默认是注释掉的,需要再nginx.conf中放开. 3.创建www.solr.com以及www.hadoop.com两个主机欢迎页面根节点文件夹以及文件. 切换到Nginx的安装目录下,复制Nginx默认的欢迎页面根

上传漏洞(二)

绕过上传漏洞 程序员在防止上传漏洞时可以分为以下两种: 客户端检测:客户端使用Javascript检测,在文件未上传时,就对文件进行验证. 服务端检测:服务端脚本一般会检测文件的MIME类型,检测文件扩展名是否合法,检测文件内容是否合法. 一.客户端检测绕过 (1)Firebug firebug是火狐浏览器的插件,可以轻松调试前端代码.新版本的火狐浏览器应该自带了这个插件.使用firebug删除javascript的验证事件,javascript验证就会失效. (2)中间人攻击 使用burpsu

集群二 nginx

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel gd gd-devel curl curl-devel e2fspr