摘要 {#摘要}
这篇文章介绍了如何在Kali Linux中使用Docker部署sqli-l,一个开源的SQL注入靶场。文章提供了详细的步骤,包括换源、源、安装/更新dirmngr、添加新的GPG key、添加清华docker源、安装docker、安装daemon等。在部署好sqli-labs后,作者还提供了如查看本地IP和浏览器访问的步骤。最后,作者结了ocker部署的优,即环境不会乱兼容所有环,便易用。
前言 {#前言}
什么是sqli-labs
sqli-labs是一个开源的SQL注入靶场,sqli-labs基本上涉及到了所有的SQL注入方式,是一个集union注入、Boolean盲注、报错注入攻击、时间盲注、堆叠注入攻击、POST注入、cookie注入、UA注入、Referer注入、base64注入等多种注入的综合靶场。
kali部署sqli-labs靶场 {#kali部署sqli-labs靶场}
kali系统安装准备 {#kali系统安装准备}
由于我所有教程都将从kali里面进行讲解,因为本机环境太多伤电脑且不方便迁移,所以我们将从kali中操作,而kali是个linux系统,安装小皮面板虽然方便,但是还是有很多不便,对小白不是很友好,所以给大家带来最简单易懂的docker部署 kali换源,更新源参考kali基本初始配置参考这篇文章 kali安装部署docker环境
uname -a #查看kali内核版本,docker安装对内核版本有要求
apt-get install -y apt-transport-https ca-certificates #添加https方法和CA证书
apt-get install dirmngr #安装/更新dirmngr
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - #添加一个新的GPG key
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list #添加清华docker源
apt-get update #更新源
apt install docker-ce #安装docker
docker -v #查看docker版本
apt-get install daemon #安装daemon
vim etc/docker/daemon.json #配置如下
{ "registry-mirrors": [ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com" ], "dns": ["114.114.114.114","8.8.8.8"] }
#这是我的配置,大家自行参考
docker安装sqli-labs {#docker安装sqli-labs}
查找镜像 {#查找镜像}
┌──(root㉿cz)-[~]
└─# docker search sqli-labs
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
acgpiano/sqli-labs sql injection labs 35
c0ny1/sqli-labs sqli-labs是一个sql注入的练习靶机,项目地址为... 10
sari3l/sqli-labs-safedog Base: sqli-labs & safedog(version Linux64_2.... 3
nooneandu/sqli-labs 冬令营 靶场镜像备份 1
拉取sqli-labs镜像 {#拉取sqli-labs镜像}
┌──(root㉿cz)-[~]
└─# docker pull acgpiano/sqli-labs
Using default tag: latest
latest: Pulling from acgpiano/sqli-labs
10e38e0bc63a: Pull complete
0ae7230b55bc: Pull complete
fd1884d29eba: Pull complete
4f4fb700ef54: Pull complete
2a1b74a434c3: Pull complete
fb846398c5b7: Pull complete
9b56a3aae7bc: Pull complete
1dca99172123: Pull complete
1a57c2088e59: Pull complete
b3f593c73141: Pull complete
d6ab91bda113: Pull complete
d18c99b32885: Pull complete
b2e4d0e62d16: Pull complete
91b5c99fef87: Pull complete
bf0fd25b73be: Pull complete
b2824e2cd9b8: Pull complete
97179df0aa33: Pull complete
Digest: sha256:d3cd6c1824886bab4de6c5cb0b64024888eeb601fe18c7284639db2ebe9f8791
Status: Downloaded newer image for acgpiano/sqli-labs:latest
docker.io/acgpiano/sqli-labs:latest
创建进程 {#创建进程}
┌──(root㉿cz)-[~]
└─# docker run -d --name sqli-labs -p 80:80 -p 13306:3306 --rm acgpiano/sqli-labs
d2d438280f0e7c23b8ae2e626452b6363ee2154fa89d30d202948b8fbce67ebe
查询进程 {#查询进程}
┌──(root㉿cz)-[~]
└─# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d2d438280f0e acgpiano/sqli-labs "/run.sh" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:13306->3306/tcp, :::13306->3306/tcp sqli-labs
相关参数讲解 {#相关参数讲解}
- -d 保持后台运行
- --name 命名
- -p 本地端口:docker中的端口是将docker的端口映射到本地端口
- --rm 容器退出后能自动清理容器内部的文件系统
- docker ps -a 显示容器container容器的id image 命令端口
查看本地ip,浏览器访问 {#查看本地ip,浏览器访问}
ifconfig #eth0口地址
随便访问一个题目,这里我访问的是第一题,成功访问
windows部署sqli-labs靶场 {#windows部署sqli-labs靶场}
windows系统安装准备 {#windows系统安装准备}
安装环境 {#安装环境}
- win11环境
- phpstudy8.1版本
- php5.3.29
- mysql5.7.26
下载地址 {#下载地址}
解压如下文件 {#解压如下文件}
安装phpstudy {#安装phpstudy}
无脑确定,注意路径放其他盘,并且只能为英文
安装好界面如下 {#安装好界面如下}
安装相关环境 {#安装相关环境}
环境安装开头给了
启用apache服务 {#启用apache服务}
浏览器访问127.0.0.1 {#浏览器访问127.0.0.1}
将sqli-labs解压后的文件夹复制到www目录 {#将sqli-labs解压后的文件夹复制到www目录}
环境配置 {#环境配置}
在D:\phpstudy_pro\WWW\sqli-labs-master\sql-connections 文件夹下修改db-creds.inc 配置信息。
更换php版本为php5.3.29 {#更换php版本为php5.3.29}
测试 {#测试}
浏览器访问http://127.0.0.1/sqli-labs-master/ 至此sqli-labs靶场就搭建成功了,总的来说docker部署还是特别的方便的,最重要的一点就是环境不会乱兼容所有环境,由于后期有些实验docker部署的sqli-labs有点问题,所以我补充了windows靶场部署教程,建议学习的两个都安装,后续我会持续更新sqli-labs和htb靶场环境的实验,关注小志,下期见