zoukankan      html  css  js  c++  java
  • nginx CRLF(换行回车)注入漏洞复现

    nginx CRLF(换行回车)注入漏洞复现

    一、漏洞描述

    CRLF是”回车+换行”( )的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码。CRLF漏洞常出现在Location与Set-cookie消息头中。

    二、漏洞原理

    1、 修改nginx.conf,在如下图位置添加如下配置,此配置实现了强制跳转的功能,当用户访问nginx服务器时由于此配置的存在会被强制跳转到以https协议访问之前访问的链接。

      

    2、上面的配置的关键利用点由两个:一是配置中的$url是我们可以控制的,这样我们就可以在$url处填入CRLF,然后对服务器进行访问实现头部注入。二是服务器会返回一个302跳转给用户,所以我们注入的头部参数又会返回到客户这边。

    三、漏洞环境搭建和复现

    1、 在ubuntu 16.04安装nginx

    1.1安装nginx依赖库

    1.1.1安装gcc g++的依赖库

    ubuntu平台可以使用如下命令:

    apt-get install build-essential

    apt-get install libtool

    1.1.2安装pcre依赖库

    apt-get install libpcre3 libpcre3-dev

    1.1.3安装zlib依赖库

    apt-get install zlib1g-dev

    1.1.4安装ssl依赖库

    apt-get install openssl

    1.2安装nginx

    #下载最新版本:

    wget http://nginx.org/download/nginx-1.11.3.tar.gz

    #解压:

    tar -zxvf nginx-1.11.3.tar.gz

    #进入解压目录:

    cd nginx-1.11.3

    #配置:

    ./configure --prefix=/usr/local/nginx

    #编辑nginx:

    Make

    #安装nginx:

    make install

    #启动nginx:

    /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    1.3浏览器访问,测试nginx是否搭建成功

      

    2、 修改/usr/local/nginx/conf/nginx.conf,在如下图位置添加如下内容:

      

    3、重启nginx服务

    ./sbin/nginx -s reload

      

    3、重启nginx服务

    ./sbin/nginx -s reload

      

    4、浏览器访问http://192.168.10.137/,然后抓包,修改数据包,如下图所示,成功实现了CRLF头部注入

      

    四、漏洞防御

    1、删除配置不当的配置

    --------------------------------------------------------------------------------------------

    参考资料: https://blog.csdn.net/liuhuaijin/article/details/77449579

  • 相关阅读:
    ZOJ 3769 Diablo III(分组背包)
    HDU 1712 ACboy needs your help(分组背包入门题)
    POJ 1170 Shopping Offers(完全背包+哈希)
    HDU 4489 The King’s Ups and Downs
    [转] LINUX 三种网络连接模式
    [转] 软件架构
    [转] 支付宝系统架构内部剖析
    [转] pip镜像升级报警 -trust-host问题解决方案
    [转] Linux 查找文件内容
    [转] CentOS系统目录学习
  • 原文地址:https://www.cnblogs.com/yuzly/p/11212233.html
Copyright © 2011-2022 走看看