sqli-labs 靶机 环境搭建(docker方式)
字数 1084 2025-08-15 21:33:14

SQLi-Labs 靶机环境搭建(Docker方式) - 详细教学文档

1. 简介

SQLi-Labs 是一个专业的 SQL 注入练习平台,用于学习和实践 SQL 注入技术。本教程将详细介绍如何使用 Docker 方式快速搭建 SQLi-Labs 靶机环境。

2. 准备工作

在开始之前,请确保:

  • 已安装 Docker 并正常运行
  • 系统具有足够的权限执行 Docker 命令
  • 网络连接正常,能够拉取 Docker 镜像

3. 详细搭建步骤

3.1 验证 Docker 运行状态

docker info

此命令用于查看 Docker 信息,确认 Docker 是否正常运行。

3.2 搜索 SQLi-Labs 镜像

docker search sqli-labs

此命令会在 Docker Hub 上搜索可用的 SQLi-Labs 镜像。

3.3 拉取 SQLi-Labs 镜像

docker pull acgpiano/sqli-labs

此命令会从 Docker Hub 下载 acgpiano/sqli-labs 镜像到本地。

3.4 查看已下载的镜像

docker images

此命令列出本地所有 Docker 镜像,确认 SQLi-Labs 镜像已成功下载。

3.5 运行 SQLi-Labs 容器

有两种端口映射方式可供选择:

方式一:映射到主机 80 端口

docker run -dt --name sqli-labs -p 80:80 --rm acgpiano/sqli-labs

方式二:映射到主机 8081 端口

docker run -dt --name sqli-labs -p 8081:80 --rm acgpiano/sqli-labs

参数解释:

  • -dt:后台运行容器
  • --name sqli-labs:为容器命名为 "sqli-labs"
  • -p 主机端口:容器端口:端口映射,将容器的 80 端口映射到主机的指定端口
  • --rm:容器停止后自动删除容器
  • acgpiano/sqli-labs:使用的镜像名称

3.6 进入运行中的容器

docker exec -it [容器ID] /bin/bash

使用此命令可以进入正在运行的容器内部进行操作。

4. 访问 SQLi-Labs

在浏览器中访问:

  • 如果使用方式一:http://localhost
  • 如果使用方式二:http://localhost:8081

应该能看到 SQLi-Labs 的欢迎页面。

5. 容器管理

5.1 查看运行中的容器

docker ps

5.2 停止容器

docker stop sqli-labs

5.3 重新启动容器

如果系统重启后需要重新启动容器:

docker start sqli-labs

6. 注意事项

  1. 如果主机的 80 端口已被占用,请使用其他端口(如 8081)
  2. 使用 --rm 参数后,容器停止后会被自动删除,但镜像仍保留
  3. 如需持久化数据,可以添加 -v 参数挂载数据卷
  4. 确保系统防火墙或安全组规则允许访问映射的端口

7. 卸载清理

如需完全移除 SQLi-Labs 环境:

  1. 停止容器:
docker stop sqli-labs
  1. 删除镜像:
docker rmi acgpiano/sqli-labs

通过以上步骤,您已成功搭建了一个完整的 SQLi-Labs 靶机环境,可以开始进行 SQL 注入的学习和练习了。

SQLi-Labs 靶机环境搭建(Docker方式) - 详细教学文档 1. 简介 SQLi-Labs 是一个专业的 SQL 注入练习平台,用于学习和实践 SQL 注入技术。本教程将详细介绍如何使用 Docker 方式快速搭建 SQLi-Labs 靶机环境。 2. 准备工作 在开始之前,请确保: 已安装 Docker 并正常运行 系统具有足够的权限执行 Docker 命令 网络连接正常,能够拉取 Docker 镜像 3. 详细搭建步骤 3.1 验证 Docker 运行状态 此命令用于查看 Docker 信息,确认 Docker 是否正常运行。 3.2 搜索 SQLi-Labs 镜像 此命令会在 Docker Hub 上搜索可用的 SQLi-Labs 镜像。 3.3 拉取 SQLi-Labs 镜像 此命令会从 Docker Hub 下载 acgpiano/sqli-labs 镜像到本地。 3.4 查看已下载的镜像 此命令列出本地所有 Docker 镜像,确认 SQLi-Labs 镜像已成功下载。 3.5 运行 SQLi-Labs 容器 有两种端口映射方式可供选择: 方式一:映射到主机 80 端口 方式二:映射到主机 8081 端口 参数解释: -dt :后台运行容器 --name sqli-labs :为容器命名为 "sqli-labs" -p 主机端口:容器端口 :端口映射,将容器的 80 端口映射到主机的指定端口 --rm :容器停止后自动删除容器 acgpiano/sqli-labs :使用的镜像名称 3.6 进入运行中的容器 使用此命令可以进入正在运行的容器内部进行操作。 4. 访问 SQLi-Labs 在浏览器中访问: 如果使用方式一: http://localhost 如果使用方式二: http://localhost:8081 应该能看到 SQLi-Labs 的欢迎页面。 5. 容器管理 5.1 查看运行中的容器 5.2 停止容器 5.3 重新启动容器 如果系统重启后需要重新启动容器: 6. 注意事项 如果主机的 80 端口已被占用,请使用其他端口(如 8081) 使用 --rm 参数后,容器停止后会被自动删除,但镜像仍保留 如需持久化数据,可以添加 -v 参数挂载数据卷 确保系统防火墙或安全组规则允许访问映射的端口 7. 卸载清理 如需完全移除 SQLi-Labs 环境: 停止容器: 删除镜像: 通过以上步骤,您已成功搭建了一个完整的 SQLi-Labs 靶机环境,可以开始进行 SQL 注入的学习和练习了。