docker案例复现

$uri导致的CRLF注入漏洞

  • 前期准备
    • docker
    • docker compose
  • 漏洞配置

前期准备

docker

要完成这样的测试,需要我们有一定的环境,也就是需要大家去安装docker

  1. 更新系统软件包:
    sudo yum update

  2. 安装 Docker 的依赖软件包:
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

这里如果,曾经安装过docker,可以清理一下。
yum remove docker docker-common docker-selinux docker-engine

  1. 设置yum源
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

  2. 选择版本安装:
    yum list docker-ce --showduplicates | sort -r
    在这里插入图片描述

如果是CentOS的虚拟机查看下面就可以了
5.可以考虑选择其中一款安装:
yum -y install docker-ce-18.03.1.ce-1.el7.centos
6.启动 Docker 服务:
sudo systemctl start docker
7.验证 Docker 是否成功安装:
docker --version

这里我还需要提一下,如果出现以下问题:
在这里插入图片描述

进行一下操作: wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
然后再
yum -y install
http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-1.el7_6.noarch.rpm
然后再进行安装

docker compose

https://github.com/docker/compose/releases/tag/v2.18.1

在这里插入图片描述
选择一个下载
下载完后将软件上传至 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

漏洞配置

CRLF漏洞又称为换行符注入漏洞

我们比较常见的两种类型,比如:
http://www.baudu.com --> https://www.baidu.com
baidu.com – > https://www.baidu.com

文件我自己找的一个,然后可以通过什么xftp传进虚拟机
链接:https://pan.baidu.com/s/1gL4_ZUbY5mA-qo6sG5-yWQ?pwd=s6l9
提取码:s6l9

首先针对我们的文件,进行解压。

[root@localhost ~]# unzip vulhub-master.zip

然后我们看一下环境
在这里插入图片描述
开启环境

[root@localhost ~]# docker compose up -d

此时就会运行docker里面的镜像。

修改文件:
在nginx配置文件中有这样一个配置:

location / {
root html;
return 302 https://$host$uri;
index index.html index.htm;
}

在虚拟机里面运行一下
在这里插入图片描述
这里我们就可以看到,它是可以实现302跳转的

那么我们在后面添加一些内容
在这里插入图片描述
成功换行到下面。

会产生什么问题呢?首先显而易见增加了我们的头部长度,然后,如果我们再添加一些内容,不如js。
比如:<img src=‘1’ οnerrοr=‘alert(1)’>
如果可以成功执行,那么我们似乎就可以实现内容的抓取。
然后抓包看一下
在这里插入图片描述
这样似乎看不出很大的问题。
我们再换一种写法
在这里插入图片描述
这里就可以实现js的执行

另外一种,是使用别名造成的

#情况1: location /files{
alias /home/; }
#情况2: location /files/{
alias /home; }

一般我们访问文件内容是:192.168.235.10:8081/files/
在这里插入图片描述

但如果我们使用另外一种:192.168.235.10:8081/files…/

实现的效果
在这里插入图片描述

实现了路径穿越,从files目录下穿越到根目录下。
这里面的一些敏感信息将会泄漏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66302.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1个用户促成800万订单背后:三翼鸟将极致用户运营进行到底

今年暑假档&#xff0c;《长安三万里》是一批当之无愧的黑马&#xff0c;总票房正式超过光线动画《姜子牙》&#xff0c;创造了追光动画的票房新纪录。 当朋友们纷纷打卡分享强烈安利这部电影时&#xff0c;我不由感叹“它究竟有怎样的魔力”&#xff0c;形成如此炸裂的口碑传…

合并图形并共享同一个图例的三种方法

简介 小编在科研中&#xff0c;需要将多个图形进行合并&#xff0c;并共享同一个图例。此时应该如何实现&#xff1f;关于图形合并的相关推文写了很多了&#xff1a;R可视乎&#xff5c;合并多幅图形、cowplot包&#xff0c;ggplot2图形排版R包。 但是对于今天这个问题&#x…

关于安卓打包生成aar,jar实现(一)

关于安卓打包生成aar&#xff0c;jar方式 背景 在开发的过程中&#xff0c;主项目引入三方功能的方式有很多&#xff0c;主要是以下几个方面&#xff1a; &#xff08;1&#xff09;直接引入源代码module&#xff08;优点&#xff1a;方便修改源码&#xff0c;易于维护&#…

【TypeScript】TS类型守卫(六)

【TypeScript】TS类型守卫&#xff08;六&#xff09; 【TypeScript】TS类型守卫&#xff08;六&#xff09;一、什么是类型守卫二、in操作符三、typeof操作符四、instanceof操作符五、自定义类型谓词函数 一、什么是类型守卫 TypeScript类型守卫&#xff08;Type Guards&…

Python实现SSA智能麻雀搜索算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&a…

Spring Cloud构建微服务断路器介绍

什么是断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置&#xff0c;用于在电路上保护线路过载&#xff0c;当线路中有电器发生短路时&#xff0c;“断路器”能够及时的切断故障电路&#xff0c;防止发生过载、发热、甚至起火等严重后果…

SpringBoot 热部署

文章目录 前言一、spring-boot-devtools添加热部署框架支持settings 开启项目自动编译开启运行中热部署使用Debug启动 二、IDEA 自带 HowSwap 功能设置 Spring Boot 启动类等待项目启动完成点击热加载按钮存在的问题 三、JRebel 插件【推荐】安装插件使用插件 前言 在日常开发…

plt取消坐标轴刻度、自定义取消绘图边框(或坐标轴)、白边处理、自定义颜色图谱、设置坐标轴刻度朝向

目录 1、取消坐标轴刻度 2、自定义取消绘图边框&#xff08;或坐标轴&#xff09; 3、去掉图片周边白边 4、自定义颜色图谱 5、设置坐标轴刻度朝向 import matplotlib.pyplot as plt 1、取消坐标轴刻度 ax plt.subplot() ax.set_xticks([]) ax.set_yticks([]) 2、自定…

Nuxt.js快速上手

Nuxt.js快速上手 Nuxt.js快速上手1、为什么用nuxtvue-cli本身问题预渲染服务端渲染(通过SSR)项目解决seo的方案选择 2、Nuxt安装和使用Nuxt安装和使用nuxt安装和目录结构nuxt生命周期nuxt路由nuxt导航守卫nuxt Vuex状态树 3、Nuxt配置项nuxt配置之headnuxt配置之cssnuxt配置之p…

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

PLUS操作流程、应用与实践,多源不同分辨率数据的处理、ArcGIS的应用、PLUS模型的应用、InVEST模型的应用

PLUS模型是由中国地质大学&#xff08;武汉&#xff09;地理与信息工程学院高性能空间计算智能实验室开发&#xff0c;是一个基于栅格数据的可用于斑块尺度土地利用/土地覆盖(LULC)变化模拟的元胞自动机(CA)模型。PLUS模型集成了基于土地扩张分析的规则挖掘方法和基于多类型随机…

Python爬虫IP代理池的建立和使用

写在前面 建立Python爬虫IP代理池可以提高爬虫的稳定性和效率&#xff0c;可以有效避免IP被封锁或限制访问等问题。 下面是建立Python爬虫IP代理池的详细步骤和代码实现&#xff1a; 1. 获取代理IP 我们可以从一些代理IP网站上获取免费或付费的代理IP&#xff0c;或者自己租…