网安第五次作业

一、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
  1. 配置Docker的镜像加速器:
vi /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}
  1. 刷新守护进程:
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 [软件包]

#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

访问服务器

  1. 列举正在运行的容器:
docker ps

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

docker ps -a
  1. 停止、启动、重启容器:
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(容器的名称)

二、漏洞

$uri导致的CRLF注入漏洞

1、漏洞原理

​ CRLF注入漏洞又称HTTP响应拆分漏洞(HTTP Response Splitting),攻击方式是将回车符、换行符注入到HTTP的响应包中。
  HTTP响应包通常以两个换行符,去划分响应头与响应正文两个部分。当用户的操作足以控制响应头的内容时,将会出现CRLF漏洞。

2、CRLF指的就是回车符和换行符,操作系统就是通过这个标识进行换行的。

回车符(CR,ASCII 13,\r,%0d)
换行符(LF,ASCII 10,\n,%0a)

3、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,那么服务端返回界面将会如

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(KaTeX parse error: Expected 'EOF', got '&' at position 13: _GET["url"])&̲&(_COOKIE[“security_level”] != “1” && KaTeX parse error: Expected '}', got 'EOF' at end of input: …t sanitized:" ._GET[“url”];

header("Location:" .$_GET["url"]);

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

"] != “1” && KaTeX parse error: Expected '}', got 'EOF' at end of input: …t sanitized:" ._GET[“url”];

header("Location:" .$_GET["url"]);

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

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值