首页 > 其他分享 >Docker Compose一键搭建安全测试靶场

Docker Compose一键搭建安全测试靶场

时间:2024-03-08 16:22:37浏览次数:20  
标签:compose 靶场 一键 yml labs Compose Docker docker

1.Docker快速安装

1.1.ubuntu系统

步骤一: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

步骤二: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

步骤三: 写入软件源信息
sudo echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" >> /etc/apt/sources.list.d/docker-ce.list

步骤四: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose

步骤五: 配置Docker加速源
cat >> /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ]
}
EOF

步骤六: 启动Docker
systemctl start docker
systemctl enable docker

1.2.centos系统

步骤一: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

步骤二: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

步骤三:
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

步骤四: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose

步骤五: 配置Docker加速源
cat >> /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ]
}
EOF

步骤六: 开启Docker服务
sudo systemctl start docker
sudo systemctl enable docker

2.靶场compose文件

2.1.XSS靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'c0ny1/xss-challenge-tour:latest'
    # 容器运行名称
    container_name: xss-challenge-tour
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40001:80'
    # 使用的网络,使用默认Docker网口
    network_mode: bridge

2.2.上传靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'c0ny1/upload-labs:latest'
    # 容器运行名称
    container_name: upload-labs
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40002:80'
    # 使用的网络,使用默认Docker网口
    network_mode: bridge

2.3.SQL注入靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'c0ny1/sqli-labs:0.1'
    # 容器运行名称
    container_name: sqli-labs
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40003:80'
    # 使用的网络,使用默认Docker网口
    network_mode: bridge

2.4.DVWA综合靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'area39/dvwa-v1.10:latest'
    # 容器运行名称
    container_name: dvwa
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40004:80'
    #  使用的网络,使用默认Docker网口
    network_mode: bridge

2.5.Pikachu综合靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'area39/pikachu:latest'
    # 容器运行名称
    container_name: pikachu
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40005:80'
    #  使用的网络,使用默认Docker网口
    network_mode: bridge

2.6.Webug综合靶场

  • 需要把此文件命名为compose.yml
version: '3'
services:
  app:
    # 使用的镜像
    image: 'area39/webug:latest'
    # 容器运行名称
    container_name: webug
    # 重启策略
    restart: unless-stopped
    # 对外映射端口
    ports:
      - '40006:80'
    #  使用的网络,使用默认Docker网口
    network_mode: bridge

3.启动实验环境

3.1.系统版本

root@docker:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy
root@docker:~# 

root@docker:~# docker-compose -v
docker-compose version 1.29.2, build unknown
root@docker:~# 

3.2.启动靶场

  • 靶场文件
root@docker:~# tree
.
└── sec-labs
    ├── dvwa
    │   └── compose.yml
    ├── pikachu
    │   └── compose.yml
    ├── sqli-labs
    │   └── compose.yml
    ├── upload-labs
    │   └── compose.yml
    ├── webug
    │   └── compose.yml
    └── xss-challenge-tour
        └── compose.yml

7 directories, 6 files
root@docker:~# 
  • 靶场启动

compose文件启动的方式:

docker compose up -d # 以后台启动

docker compose ps # 查看服务状态

docker compose stop # 停止靶场

docker compose down -v # 停止并,删除靶场

root@docker:~# cd sec-labs/sqli-labs/
root@docker:~/sec-labs/sqli-labs# docker compose up -d
[+] Running 1/1
 ✔ Container sqli-labs  Started  
root@docker:~/sec-labs/sqli-labs# docker compose ps
NAME        IMAGE                 COMMAND     SERVICE   CREATED         STATUS         PORTS
sqli-labs   c0ny1/sqli-labs:0.1   "/run.sh"   app       5 minutes ago   Up 5 minutes   3306/tcp, 0.0.0.0:40003->80/tcp, :::40003->80/tcp
root@docker:~/sec-labs/sqli-labs# 
  • 查看靶场是否能够访问
root@docker:~/sec-labs/sqli-labs# curl -I http://127.0.0.1:40003/
HTTP/1.1 200 OK
Date: Fri, 08 Mar 2024 08:19:09 GMT
Server: Apache/2.4.7 (Ubuntu)
Last-Modified: Tue, 15 May 2018 12:01:03 GMT
ETag: "1efd-56c3d5b3bbdc0"
Accept-Ranges: bytes
Content-Length: 7933
Vary: Accept-Encoding
Content-Type: text/html

root@docker:~/sec-labs/sqli-labs# 

标签:compose,靶场,一键,yml,labs,Compose,Docker,docker
From: https://www.cnblogs.com/amsilence/p/18061269

相关文章

  • docker 常用命令
    docker常用命令1.dockersearch[OPTIONS]NAME#搜索DockerHub上的镜像。-q:只显示仓库名。--filter:设置过滤条件,比如搜索官方镜像可以使用--filter="is-official=true"。limit:设置搜索结果的最大条数。--no-trunc:显示完整的镜像描述,而不是截断的描述。例子......
  • docker 部署 django + mysql + vue 项目
    ​项目目录结构,在Vue和Django项目根目录下创建Dockerfile文件,在父级目录下创建docker-compose.yml文件Project#父级目录├─client#vue3项目目录│├─public│└─src│├─*files│├─*files│├─Dockerfile└─server#Django项......
  • 如何通过docker容器查看run命令
    1.当你需要迁移docker的时候,忘记的run的命令可以使用一下方法blossom-backend是你的容器名字或者容器IDdockerinspect--format'dockerrun\--name{{printf"%q".Name}}\{{-with.HostConfig}}{{-if.Privileged}}--privileged\{{-en......
  • 基于docker的emqx,数据持久化,防止重启配置丢失
    docker中运行的emqx,采用在內置账号、密码进行身份认证的情况下,如果容器重启,那么上述配置将丢失。一下操作基于emqx4.4.191、先运行emqxdocker容器dockerrun-d--nameemqxemqx/emqx:4.4.192、将容器中的emqx的配置copy到本地:dockercpemqx:/opt/emqx/etc/...本地目......
  • Linux环境下Docker部署.Net8应用
    ......
  • docker安装zipkin
    命令如下,调整后执行即可:dockerrun--namezipkin\-p9411:9411\--restart=always\-eSTORAGE_TYPE=mysql\-eMYSQL_HOST=ip地址\-eMYSQL_TCP_PORT=3306\-eMYSQL_DB=连接数据库名称\-eMYSQL_USER=root\-eMYSQL_PASS=数据库密码\-dopenzipkin/zipkin:2.24......
  • docker安装MongoDB
    需注意,docker版本不能太低,否则执行会报:missingsignaturekey(缺少签名密钥):需要重新安装docker,所以docker最开始最好安装新版本:yuminstalldocker-ce-y参考的链接:https://www.4vsy.com/article/231.html,https://blog.csdn.net/qq_25430563/article/details/127977667doc......
  • docker安装nacos
    如下,目录配置自行创建、调整dockerrun--namenacos-2.1.0\-p8848:8848\-p9848:9848\-p9849:9849\--privileged=true\--restart=always\-eJVM_XMS=256m\-eJVM_XMX=256m\-eMODE=standalone\-eTIME_ZONE='Asia/Shanghai'\-ePREFER_HOST_......
  • python3代码转换成docker镜像启动
    1.打包成docker镜像来使用切到Tags,搜索3.11选择python:3.11.4-slim-bullseye2.在压测脚本的根目录中,创建Dockerfile文件: FROMpython:3.11.4-slim-bullseyeWORKDIR/opt/appCOPYrequirements.txt./ENVhost=nullENVport=nullENVonlyResetJob=nullRUNpip......
  • 一键Run带你体验扩散模型的魅力
    本文分享自华为云社区《爆圈Sora横空出世,AGI通用人工智能时代真的要来了吗?一键Run带你体验扩散模型的魅力!》,作者:码上开花_Lancer。Sora这几天的爆炸性新闻,让所有人工智能相关从业者及对应用感兴趣的人群都感到沸腾,震撼到央视也在进行相关的讨论,简直可以和2023年初ChatGPT讨论带......