安装docker和案例复现

安装环境

1.安装docker

2,配置docker利用环境

三个案例看Nginx配置安全

1.uri导致的CRLF注入漏洞

2.目录穿越漏洞

[3.Http Header被覆盖的问题](#3.Http Header被覆盖的问题)


安装环境

1.安装docker

#输入命令 yum install -y yum-utils 安装下载docker的工具包

python 复制代码
yum install -y yum-utils

设置阿里docker镜像仓库地址

python 复制代码
​
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
javascript 复制代码
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

#开启docker

javascript 复制代码
systemctl start docker

#查看docker状态

javascript 复制代码
systemctl status docker

2,配置docker利用环境

下载安装docker利用环境vulhub-master,此环境可以找到一些docker的漏洞利用环境

进入docker利用环境

javascript 复制代码
  unzip vulhub-master.zip

[root@yangxingquan ~]# cd vulhub-master/

[root@yangxingquan vulhub-master]# cd nginx/

[root@yangxingquan nginx]# ls -al

总用量 8

drwxr-xr-x.   6 root root  113 7月  29 01:38 .

drwxr-xr-x. 119 root root 4096 7月  29 01:38 ..

drwxr-xr-x.   4 root root  121 7月  29 01:38 CVE-2013-4547

drwxr-xr-x.   2 root root   97 7月  29 01:38 CVE-2017-7529

drwxr-xr-x.   5 root root  159 7月  29 01:38 insecure-configuration

drwxr-xr-x.   5 root root  156 7月  29 01:38 nginx_parsing_vulnerability

docker compose up -d

运行成功后,Nginx将会监听8080/8081/8082三个端口,分别对应三种漏洞。

三个案例看Nginx配置安全

1.uri****导致的 CRLF 注入漏洞

Nginx会将$uri进行解码,导致传入%0d%0a即可引入换行符,造成CRLF注入漏洞。

错误的配置文件示例(原本的目的是为了让http的请求跳转到https上):

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

Payload: http://your-ip:8080/%0d%0aSet-Cookie:%20a=1,可注入Set-Cookie头

2.目录穿越漏洞

Nginx在配置别名(Alias)的时候,如果忘记加/,将造成一个目录穿越漏洞。

错误的配置文件示例(原本的目的是为了让用户访问到/home/目录下的文件):

location /files {
alias /home/;
}

Payload: http://your-ip:8081/files../ ,成功穿越到根目录:

3.Http Header被覆盖的问题

Nginx配置文件子块(server、location、if)中的add_header,将会覆盖父块中的add_header添加的HTTP头,造成一些安全隐患。

如下列代码,整站(父块中)添加了CSP头:

add_header Content-Security-Policy "default-src 'self'";
add_header X-Frame-Options DENY;

location = /test1 {
rewrite ^(.*)$ /xss.html break;
}

location = /test2 {
add_header X-Content-Type-Options nosniff;
rewrite ^(.*)$ /xss.html break;
}

但/test2的location中又添加了X-Content-Type-Options头,导致父块中的add_header全部失效:

XSS可被触发:

相关推荐
小此方23 分钟前
Re:Linux系统篇(二十六)进程篇·十一:从底层原理到 exec* 家族:彻底搞懂 Linux 进程程序替换
linux·运维·服务器
码农小白AI8 小时前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化
utf8mb4安全女神8 小时前
克隆的虚拟机怎么更改ip地址
运维
赵民勇8 小时前
fuse-overlayfs命令详解
linux·容器
万能的知了9 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP9 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
luweis10 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法
极客老王说Agent10 小时前
屏幕理解能力是下一代自动化的关键吗?2026年自动化范式演进深度解析
运维·人工智能·ai·chatgpt·自动化
LT101579744411 小时前
2026年电商RPA选型指南:电商运营全流程自动化测评
运维·自动化·rpa
JAVA社区11 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes