docker复现Nginx配置漏洞

这篇具有很好参考价值的文章主要介绍了docker复现Nginx配置漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.docker环境搭建

2.复现过程

2.1CRLF(carriage return/line feed)注入漏洞

 2.2.目录穿越

 2.3.add_header覆盖


1.docker环境搭建

1.安装docker

apt-get update
apt-get install docker.io

yum install docker.io

2.下载并解压docker环境Nginx配置漏洞安装包

链接:https://pan.baidu.com/s/1gL4_ZUbY5mA-qo6sG5-yWQ?pwd=s6l9 
提取码:s6l9

cd到对应目录下,docker启容器

unzip vulhub-master.zip
cd /root/vulhub-master/nginx/insecure-configuration
docker-compose up -d

安装好后,用docker ps -a查看容器运行情况

root@localhost:~/vulhub-master/nginx/insecure-configuration# docker ps -a
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS          PORTS                                                                   NAMES
797f6975a01e   vulhub/nginx:1   "nginx -g 'daemon of…"   59 minutes ago   Up 59 minutes   80/tcp, 0.0.0.0:8080-8082->8080-8082/tcp, :::8080-8082->8080-8082/tcp   insecure-configuration_nginx_1

 STATUS为up状态就表示容器正在运行

如果要进入容器,键入docker exec -it 797f6975a01e(这里写你的容器ID) /bin/bash命令

2.复现过程

2.1CRLF(carriage return/line feed)注入漏洞

这个漏洞产生的原因是请求重定向的错误配置,导致在url中输入回车换行符可以控制http响应头部

比如:

location / {
    return 302 https://$host$uri;
}

原本的目的是为了让http的请求跳转到https上

但是$uri参数是不包含查询参数的,于是当我们在url中输入%0d%0a时,$uri参数不会将回车换行符传入,这就导致用户可以控制http响应头部

访问http://ip:8080,使用bp抓包,构造反射性xss

%0d%0a%0d%0a<img src=1 onerror=alert(1)>

docker复现Nginx配置漏洞,docker,nginx

 修复方法:把$url改为$request-uri,这个参数会传入完整的原始url请求,也就是说用户输入的所有内容都会被当做参数传入Location字段docker复现Nginx配置漏洞,docker,nginx

 2.2.目录穿越

这个漏洞产生的原因是alias别名配置错误,导致在url中拼接目录获取敏感数据

location /files {
        alias /home/;
    }

原本的目的是想用户输入/files会跳转到/home目录下,但是/files并没有以"/"结尾,所以我们可以输入/files../,此时/files匹配上了,替换为/home/..,造成目录穿越

docker复现Nginx配置漏洞,docker,nginx

 修复方法:将/files改为/files/,这样就算输入/files../也不会匹配上/files/

 2.3.add_header覆盖

这个漏洞产生的原因是Location子块中又添加了add_header参数,覆盖了父块中的参数,导致失效

    add_header Content-Security-Policy "default-src 'self'";
    #这个头部用于配置浏览器加载和执行内容的安全策略。在这里,设置为 "default-src 'self'" 表示只        
    #允许从同源(即当前域名)加载内容,其他来源的内容被禁止加载。
    add_header X-Frame-Options DENY;
    #防止页面被嵌入到 <frame>、<iframe> 或其他框架中。设置为 DENY 表示不允许任何形式的嵌入。
        location = /test1 {
                rewrite ^(.*)$ /xss.html break;
        }
 
    location = /test2 {
        add_header X-Content-Type-Options nosniff;
        #该头部防止浏览器尝试嗅探未知 MIME 类型的响应内容
        rewrite ^(.*)$ /xss.html break;
    }

这个配置本意是想在子块中再添加一个参数,结果覆盖父块,导致父块参数全部失效

bp抓包发现父块添加的参数消失,只有子块里的参数docker复现Nginx配置漏洞,docker,nginx

 修复方法:删除子块中的add_header参数,或者添加到父块中docker复现Nginx配置漏洞,docker,nginx文章来源地址https://www.toymoban.com/news/detail-643015.html

到了这里,关于docker复现Nginx配置漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx/OpenResty目录穿越漏洞复现

    2020年03月18日, 360CERT监测发现 openwall oss-security 邮件组披露了两枚漏洞。在特定配置下 nginx/openresty 存在 内存泄漏漏洞/目录穿越漏洞。 Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。 OpenResty是一个基于nginx的Web平台,它对nginx增加LuaJIT引擎使其

    2023年04月10日
    浏览(27)
  • Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复

    前言 Nginx是一个高性能的HTTP和反向代理服务器,经常被做为反向代理,动态的部分被proxy_pass传递给后端端口,而静态文件需要Nginx来处理。 漏洞出现在服务器的静态文件中。如果静态文件存储在/home/目录下,而该目录在url中名字为files,那么就需要用alias设置目录的别名 。

    2024年02月04日
    浏览(32)
  • 中间件安全-CVE复现&IIS&Apache&Tomcat&Nginx漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere, Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp, Spring,Flask,jQuery等 1、中间件-IIS-短文件解析蓝屏等 2、中间件-Nginx-文件解析命令执行等 3、中间件-Apache-RCE目录遍历文件解析等 4、中间件

    2024年02月07日
    浏览(38)
  • 服务攻防-中间件安全&CVE复现&IIS&Apache&Tomcat&Nginx漏洞复现

    目录 一、导图 二、ISS漏洞 中间件介绍 1、短文件 2、文件解析 3、HTTP.SYS 4、cve-2017-7269 三、Nignx漏洞 中间件介绍 1、后缀解析漏洞 2、cve-2013-4547 3、cve-2021-23017 无 EXP 4、cve-2017-7529 意义不大 四、Apache漏洞 中间件介绍 1、漏洞版本简介 2、cve-2021-42013 3、cve-2021-41773 4、cve-2017-1571

    2024年02月10日
    浏览(50)
  • 修复漏洞(三)升级Docker里面的镜像(MySQL、Nginx等)

    因原版本检测出来存在漏洞,故需升级底层镜像 先看看自己现在的是什么版本,教你们一个骚操作,查看Docker里面的Mysql或者其他容器版本都不用百度出来的这么麻烦 首先 docker images ,查看镜像ID 然后 docker inspect 镜像ID ,然后就可以看到以下的类似信息 上面两张图就说明

    2024年02月16日
    浏览(34)
  • 网络安全--linux下Nginx安装以及docker验证标签漏洞

    目录 一、Nginx安装  二、docker验证标签漏洞 1.首先创建 Nginx 的目录并进入: 2.下载 Nginx 的安装包,可以通过 FTP 工具上传离线环境包,也可通过 wget 命令在线获取安装包: 没有 wget 命令的可通过 yum 命令安装: 3.解压 Nginx 的压缩包: 4.下载并安装 Nginx 所需的依赖库和包:

    2024年02月11日
    浏览(36)
  • 配置Nginx以解决http host头攻击漏洞

    最近开发的应用接受了安全测试,发现了几个安全问题,在解决的过程中记录一下; 1、问题描述 2、测试过程 在请求目标站点时,将HOST改为其他域名,如www.baidu.com,应用返回的URL将www.baidu.com拼接在URI前,如下图所示: 3、 解决方案 在Nginx里还可以通过指定一个SERVER_NAME名单

    2024年02月16日
    浏览(32)
  • Kali虚拟机安装docker并配置vulhub漏洞复现环境

    学网络安全有一些漏洞复现的经历会很有用,Vulhub是一个面向大众的开源漏洞靶场,我们可以借助它简单的进行漏洞复现。下面就从安装docker开始分享一下在kali虚拟机上搭建vulhub的过程,涉及搭建过程中遇到的一些问题和解决方法。 要想安装vulhub首先需要docker来给我们提供容

    2024年02月10日
    浏览(45)
  • 配置Nginx解决http host头攻击漏洞【详细步骤】

    大概内容: 安全系统渗透测试出 host头攻击漏洞 ,下面是解决步骤,本人已测过无问题。 找到nginx存放的地方,一般存放路径/usr/local/nginx 进入到nginx/conf目录下 使用vi命令vi nginx.conf命令进入配置文件 点 i 添加内容 listen写服务的端口号 server_name 填ip地址,多个地址用空格代替

    2024年02月02日
    浏览(35)
  • Docker 安装Nginx与配置Nginx

    在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。 而在互联网项目下,因单个tomcat默认并发量有限制。如果请求量过大,会产生如下问题: 是互联网分布式系统架构设计中必须考虑的因

    2024年01月24日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包