配置docker,案例复现

配置docker(系统为centos)

1.检查操作系统环境:

docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安装docker

2.查看你是否拥有旧的版本,有的话卸载,没有的话直接略过该步骤

复制代码
sudo yum remove docker

3.更新yum包

复制代码
sudo yum update
  1. 搭建Docker CE的repository:

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

5.选择安装的版本

复制代码
yum list docker-ce --showduplicates | sort -r  ---版本

yum install docker-ce-18.06.3.ce

6.设置开机自启动,验证是否成功

复制代码
systemctl start docker

systemctl enable docker

docker version

导入漏洞环境的文件

复制代码
下载docker-compose完后将软件上传至 Linux的【/usr/local/bin】目录下

然后重命名:

sudo mv docker-compose-linux-x86_64 docker-compose

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


启动docker compose up -d

案例复现

1,$uri导致的CRLF注入漏洞

CRLF注入漏洞又称HTTP响应拆分漏洞(HTTP Response Splitting),攻击方式是将回车符、换行符注入到HTTP的响应包中。

HTTP响应包通常以两个换行符,去划分响应头与响应正文两个部分。当用户的操作足以控制响应头的内容时,将会出现CRLF漏洞。监听端口为8080

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

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


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

当使用前两个变量的时候就会自动解码,那么思路就是将payload编码,然后让他自动解码

2 ,目录穿越漏洞

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

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

配置文件

复制代码
> location /files {
>     alias /home/; }

解决方案:

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

相关推荐
CSJ200203144 分钟前
LUMP+NFS架构的Discuz论坛部署
运维·架构
不知疲倦的仄仄40 分钟前
2025最新版Docker讲解/面试/命令/容器化技术
运维·docker·容器
程序员黄老师1 小时前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu
Enti7c2 小时前
什么是void,什么时候使用void类型?never和void的区别
linux·运维·ubuntu
宇钶宇夕2 小时前
S7-1200 系列 PLC 中 SCL 语言的 PEEK 和 POKE 指令使用详解
运维·服务器·数据库·程序人生·自动化
A小码3 小时前
软件开发那些基础事儿:需求、模型与生命周期
运维·服务器
Linux运维技术栈4 小时前
企业级配置:Azure 邮件与 Cloudflare 域名解析的安全验证落地详解
运维·安全·flask·azure·cloudflare
哈里谢顿4 小时前
修改并重新部署docker项目流程
docker
这儿有一堆花4 小时前
Nginx服务器集群:横向扩展与集群解决方案
运维·服务器·nginx
egoist20235 小时前
【Linux仓库】命令行参数与环境变量【进程·伍】
linux·运维·服务器·环境变量·命令行参数·内建命令