使用Docker搭建SQLi-Labs平台

使用Docker搭建SQLi-Labs平台

关于docker和sql注入

    • 使用Docker搭建SQLi-Labs平台
  • 一.关于Docker
  • 二.Docker的安装
  • 三.关于SQLi-Labs
  • 四.搭建SQLi-Labs
  • 五.进入Docker更改内容

一.关于Docker

Docker 是基于 linux 内核的 cgroup 和 namespace 等实现的进程隔离技术,是操作系统层面的虚拟化技术。由于进程在宿主机上被分割成独立的空间,就像一个独立的容器将这些进程与外界隔离开来,因此被称为容器

标准化的解决方案,软件带环境安装,在安装的时候把原始环境一模一样地复制,利用Docker可以消除协作时的环境等配置问题。

运行文档、配置环境、运行环境、运行依赖包、操作系统发行版、内核。

因为Docker 是操作系统层面的虚拟化技术,不需要虚拟化硬件,同一宿主机器上的所有容器共享宿主机的硬件和操作系统内核,只是在用户态隔离进程的运行环境和存储空间,因此对于上层用户而言一个容器就好像是一台独立的主机。容器是一种轻量的虚拟化技术

镜像(Image):相当于是一个 root 文件系统(安装文件)

容器(Container):镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):集中存放镜像文件的场所。

二.Docker的安装

  • 查看Linux系统的内核
 [root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64


Ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以

  • 可对Linux进行更新
[root@localhost ~]# yum update

使用Docker搭建SQLi-Labs平台_第1张图片

  • 下载安装docker
[root@localhost ~]# yum install docker

使用Docker搭建SQLi-Labs平台_第2张图片

  • Docker的相关设置
[root@localhost ~]# systemctl start docker    #开启sqli-labs服务
[root@localhost ~]# docker -v                 #查看docker的版本
[root@localhost ~]# systemctl enable docker   #设置为开机自启动

使用Docker搭建SQLi-Labs平台_第3张图片

三.关于SQLi-Labs

SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含了以下注入:

1、基于错误的注入(Union Select) 字符串,整数

2、基于误差的注入(双查询注入)

3、盲注入(基于Boolian数据类型注入,基于时间注入)

4、更新查询注入(update )

5、插入查询注入(insert )

6、Header头部注入(Referer,UserAgent,cookie)

7、二阶注入(二次注入)

8、绕过WAF

绕过黑名单\过滤器\剥离\注释剥离 OR&AND 剥离空格和注释剥离 UNION和SELECT\隐瞒不匹配

9、绕过addslashes()函数

10、绕过mysql_real_escape_string()函数(在特殊条件下)

11、堆叠注入(堆查询注入)

12、二级通道提取

四.搭建SQLi-Labs

  • 查找sqli-labs镜像
[root@localhost ~]# docker search sqli-labs

使用Docker搭建SQLi-Labs平台_第4张图片

  • 将镜像拉取到本地
[root@localhost ~]# docker pull acgpiano/sqli-labs

使用Docker搭建SQLi-Labs平台_第5张图片

  • 查看本地镜像
[root@localhost ~]# docker images

  • 运行sqli-labs
[root@localhost ~]# docker run -dt --name sqli -p 80:80 --rm acgpiano/sqli-labs

  • 浏览器中输入本地地址:127.0.0.1

使用Docker搭建SQLi-Labs平台_第6张图片

  • 点击Setup/reset Datebase for labs 完成数据库信息的创建

使用Docker搭建SQLi-Labs平台_第7张图片

  • 点击SQLi-LABS Page1(Basic Challenges)跳转到题目列表页面

使用Docker搭建SQLi-Labs平台_第8张图片

  • 选择题目进行SQL注入

使用Docker搭建SQLi-Labs平台_第9张图片

五.进入Docker更改内容

  • 先使用 docker ps 命令查看正在运行中的容器

  • 得到正在运行的docker容器的 CONTAINER ID

  • 进入容器命令:sudo docker exec -it CONTAINER ID /bin/bash

  • 进入容器之后找到sqli-labs中web目录下的index页的静态文件

使用Docker搭建SQLi-Labs平台_第10张图片

  • 更改文件内容

使用Docker搭建SQLi-Labs平台_第11张图片

  • 编辑之后的文件保存并退出,打开浏览器输入127.0.0.1查看更改后的页面效果

使用Docker搭建SQLi-Labs平台_第12张图片

  • 从容器中退出 exit ,将更改后的Docker容器导出成tar格式的文件

  • 使用命令:docker save -o sqli-labs.tar acgpiano/sqli-labs

你可能感兴趣的:(网络安全&渗透,docker)