Docker容器安装及CRLF注入漏洞

CentOS7下的Docker容器安装

目前Docker是不错的安装方式。使用Docker安装MySQL,首先需要安装Docker容器,之后在拉去MySQL镜像。

docker简介

Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。

Docker的下载

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

Docker的安装:

1. 上传安装包:

docker-ce-18.06.0.ce-3.el7.x86_64.rpm

2. 安装:

yum install docker-ce-18.06.0.ce-3.el7.x86_64.rpm -y

3. 启动docker

systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker

docker info

4. 配置Docker的镜像加速器:

vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://w2plr83n.mirror.aliyuncs.com"]
}

5. 刷新守护进程:

systemctl daemon-reload

6. 重启docker:

 systemctl restart docker

7. 效验配置是否成功

docker info

三、Docker的镜像操作:

1. 搜索镜像

docker search tomcat

2. 下载镜像:

docker pull tomcat

docker pull openjdk

3. 列举本地仓库的所有镜像

docker images :

4. 导入或者加载镜像:

#docker load -i centos7.tar 
#docker load -i java8.tar
#docker load -i tomcat.tar
#docker load -i nginx.tar
docker load -i mysql.tar 

5. 保存镜像:

docker save -o tomcat3-22.rar tomcat:8.5.42-jdk8-adoptopenjdk-openj9

6. 删除镜像:

 docker rmi -f openjdk:latest
 docker rmi -f 040bdb29ab37
 docker rmi -f $(docker images)

四、容器的操作:

1. 创建容器:

 docker run centos:centos7 /bin/echo 'Hello World'       临时容器

 docker run -it --name=mycentos centos:centos7 /bin/bash
 docker run -d -p 91:80 nginx

访问: http://192.168.188.135:91/

2. 列举正在运行的容器:

docker ps

列举所有的容器(包括停止的)

docker ps -a

3. 停止、启动、重启容器:

docker stop 容器的id
docker start 容器的id
docker restart 容器的id

4. 进入容器:

docker exec -it 5c0447c5d6ed /bin/bash

5. 退出容器:

exit

6. 删除容器:

docker rm -f 容器的id
docker rm -f $(docker ps -a -q)

7. 过滤输出容器的ip地址:

docker inspect --format='{{.NetworkSettings.IPAddress}}'     jdk1(容器的名称)

CRLF注入漏洞

CRLF简介

CRLF指的就是回车符(CR,ASCII-13,\r,%0d)和换行符(LF,ASCII-10,\n,%0a),操作系统就是通过这个标识进行换行的,相当于我们键盘的回车键。

HTTP协议中的CRLF

在HTTP协议报文中,CRLF随处可见,请求行与请求头通过一个CRLF(\r\n)隔开,请求头(header)和请求主题(body)之间通过两个CRLF(\r\n)隔开,如下图:

在这里插入图片描述

CRLF注入漏洞简介

由于服务端未对用户输入的参数进行过滤,攻击者可通过构造恶意的HTTP请求在其添加多余的CRLF(\r\n)来添加恶意参数和HTML代码,从而形成CRLF注入漏洞。

CRLF注入漏洞危害

1,Cookie会话固定
2,反射性XSS攻击(可过WAF)

漏洞利用(原理)

Cooki会话固定:
步骤一:在URL参数中构造%0d%0aSet-Cookie:crlf=ture
在这里插入图片描述

步骤二:查看HTTP响应包,发现HTTP响应头存在了Set-Cookie:crlf=true

在这里插入图片描述

原理分析:
查看源代码发现:当服务端对用户的输入不进行过滤和排查时,$_GET变量接受的URL会直接作为响应头中的Location字段返回,同时又因为我们在请求的URL中添加了一个CRLF,所以返回的响应头中会存在我们构造的Set-Cookie:crlf=ture参数

if(isset($_GET["url"])&&($_COOKIE["security_level"] != "1" && $_COOKIE["security_level"] != "2"))
{
	//Debugging
	//echo "Not sanitized:" .$_GET["url"];
	
	header("Location:" .$_GET["url"]);
}

反射性XSS攻击:
如果此时我们在URL中将%0d%0aSet-Cookie:crlf=ture修改为%0d%0a<script>alert('xss')</script>,那么服务端返回界面将会如下图:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值