docker配置,案例复现

目录

 1、docker的安装

2、nginx配置漏洞

2.1 $uri导致的CRLF注入漏洞

2.2 目录穿越漏洞


 1、docker的安装

1)更新系统软件包:

yum update 

2)安装 Docker 的依赖软件包:

 yum install -y yum-utils device-mapper-persistent-data lvm2

3)添加 Docker 的官方存储库:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4)安装 Docker 社区版:

 yum install -y docker-ce

5)启动 Docker 服务:

systemctl start docker

 6)运行 docker version,查看docker ce是否安装成功:

7)查看状态,active为running则启动成功:

 

2、nginx配置漏洞

环境搭建:

 查看运行的容器:

 

2.1 $uri导致的CRLF注入漏洞

查看Nginx文档,可以发现有三个表示uri的变量:

  1. $uri:解码后请求路径

  2. $document_uri:解码后请求路劲

  3. $request_uri:完整的URI(没有解码)

因为$uri是解码以后的请求路径,所以可能就会包含换行符,也就造成了一个CRLF注入漏洞。

使用burp抓包复现:

 在左侧的头部加入换行符,在右侧箭头处我们可以很清楚的看见了换行。

 实际上是控制了http的head头,可以自由添加数据。

我们可以换一种 js的实现:

 即这里可以执行js的代码,危险系数就增高

解决方案:

在nginx.conf中修改配置文件

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

因为$uri$document_uri表示的是解码以后的请求路径,不带参数;$request_uri表示的是完整的URI(没有解码),故就不存在了。

2.2 目录穿越漏洞

这个常见于Nginx做反向代理的情况,动态的部分被proxy_pass传递给后端端口,而静态文件需要Nginx来处理。

配置文件为:

location /files{
    alias /home/;
}

如果访问files…相当于访问/home/…即访问到根目录下。造成如下结果:

 进而我们获得了一个任意文件下载漏洞。

解决方案:

只需要保证location和alias的值都有后缀/或都没有这个后缀,例如:

location /files/{
    alias /home/;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值