SQLI LABS | SQLI LABS 靶场初识

news2024/12/29 13:11:16

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客

0x01:SQLI LABS 靶场简介

SQLi-Labs 靶场是一个专门用于学习和测试 SQL 注入漏洞的开源靶场,该靶场提供了多个具有不同漏洞类型和难度级别的 Web 应用程序的环境。这些应用程序旨在模拟真实世界中的 Web 应用,以便开发者能够学习和测试 SQL 注入漏洞。通过使用这个靶场,开发者可以深入了解 SQL 注入的原理、技巧和防范方法。

SQLi-Labs 靶场的主要特点如下:

  1. 多种漏洞类型: SQLi-Labs 靶场包含了多种类型的 SQL 注入漏洞,如报错盲注、布尔盲注、基于联合查询的 SQL 注入等。这些漏洞类型涵盖了 SQL 注入攻击的常见场景。

  2. 不同难度级别: 靶场中的每个应用程序都有不同的难度级别,从简单的入门级别到复杂的挑战级别。这有助于开发者根据自己的技能水平逐步学习和提高。

  3. 实时反馈: 在靶场中进行测试时,系统会提供实时的反馈,帮助开发者了解他们的测试是否成功以及漏洞的利用方式是否有效。

综上所示,SQLi-Labs 靶场是一个非常有用的工具,可以帮助开发者学习和测试 SQL 注入漏洞。通过使用这个靶场,开发者可以更加深入的了解 SQL 注入的原理、技巧和防范方法,从而提高自己的安全意识和技能水平。

0x02:SQLI LABS 靶场安装

0x0201:Windows 系统安装 SQLI LABS 靶场

附件资源

  • 靶场运行环境

    • PhpStudy - CSDN 配套资源:phpstudy_x64_8.1.1.3.zip

    • PhpStudy - 官网地址:小皮面板-好用、安全、稳定的Linux服务器面板!

  • 靶场资源包

    • SQLi-Labs 源码包 - CSDN 配套资源:sqli-labs-php7.zip - 配合 PHP 7.X 使用

    • SQLi-Labs 源码包 - 官网地址:https://github.com/Audi-1/sqli-labs - 配合 PHP 5.X 使用

注意:如果使用不配套的 PHP 版本,很有可能安装失败!

Windows 操作系统安装 SQLI LABS 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP + Apache + MySQL) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 SQLI LABS 靶场源码并修改其数据库连接配置文件。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

1. 导入 SQLI LABS 靶场源码

首先,从附件资源中下载 SQLI LABS 靶场的源码包,并进行解压操作:

然后,我们要将解压后的靶场文件,放到站点根目录下。PhpStudy 中定位站点根目录的方法如下:

打开站点根目录后,直接将解压后的 SQLI LABS 靶场源码拖进去即可(为了方便后续访问,建议把解压后的文件名改为 sqli-labs(sqli-labs-php7 => sqli-labs)):

下面是 sqli-labs 文件夹中的内容(直接就是源码,没有再多嵌套文件夹):

2. 修改 SQLI LABS 数据库配置文件

源码导入成功后,我们还需要修改数据库配置文件,方便靶场访问本机 MySQL 数据库。配置文件的路径如下:

 配置文件路径: sql-connections/db-creds.inc

如下图,我们需要修改数据库连接的用户名和密码(别忘了保存):

上面的 $dbuser$dbpass 字段,可以参考 PhpStudy 数据库页面中内容:

3. SQLI LABS 靶场数据库初始化

修改完成后,我们就需要访问 SQLI LABS 靶场,完成靶场的初始化了。不过在此之前,记得开启 PhpStudy 的 Apache 和 MySQL 服务:

接下来,我们访问 SQLI LABS 靶场首页。我们刚刚是把 SQLI LABS 靶场的源码放在了 localhost 站点的 sqli-labs 目录下,所以我们访问靶场的地址为(如果报错,很有可能是 PHP 版本与靶场不符):

 http://localhost/sqli-labs

如上图,我们成功访问了靶场。但此时靶场的数据库还没有初始化完成,我们需要点击页面上的 "Setup/reset Database for labs" 按钮,初始化数据库(如果后续测试中,你不小心毁了这个数据库,你也可以通过点击这个按钮重置靶场):

4. 访问并使用 SQLI LABS 靶场

初始化完成后,我们重新输入下面的链接,再次访问 SQLI LABS 靶场:

 http://localhost/sqli-labs/

如上图,此时,我们就可以随意修改靶场难度,并且在不同难度的关卡中尽情的测试啦。

0x0202:Linux 系统安装 SQLI LABS 靶场

附件资源

  • 靶场运行环境

    • PhpStudy - 官网地址:小皮面板-好用、安全、稳定的Linux服务器面板!

  • 靶场资源包

    • SQLi-Labs 源码包 - CSDN 配套资源:sqli-labs-php7.zip - 配合 PHP 7.X 使用

    • SQLi-Labs 源码包 - 官网地址:https://github.com/Audi-1/sqli-labs - 配合 PHP 5.X 使用

注意:如果使用不配套的 PHP 版本,很有可能安装失败!

Linux 操作系统安装 SQLI LABS 靶场,主要分为以下两步:

  1. 靶场运行环境搭建(PHP + Apache + MySQL) - PhpStudy => 参考:PhpStudy 使用手册

  2. 导入 SQLI LABS 靶场源码并修改其数据库连接配置文件。

这里主要介绍第二步,靶场的运行环境我们采用 PhpStudy 一键集成部署即可,PhpStudy 的安装方法可以参考上面提供的链接(内含:Windows 与 Linux 操作系统安装 PhpStudy 的步骤)。

1. 导入 SQLI LABS 靶场源码

首先,我们需要准备靶场的源码包,直接从附件资源中下载即可(不需要解压):

然后我们需要定位网站的根目录,并把靶场压缩包上传至站点根目录下,定位流程如下:

打开站点根目录后,点击 ”文件上传“,将 SQLI LABS 的压缩包进行上传:

上传完毕后,我们需要解压 sqli-labs-php7.zip 文件,直接在小皮面板中操作即可(这里最好创建一个 sqli-labs 文件夹来存放解压缩后的文件):

解压成功后的样式如下图所示,至此我们已经成功导入靶场源码了(如果出现了嵌套文件夹,可以在小皮面板中选择剪切文件,来消除嵌套的文件夹):

2. 修改 SQLI LABS 数据库配置文件

源码导入成功后,我们还需要修改数据库配置文件,方便靶场访问本机 MySQL 数据库。配置文件的路径如下:

 配置文件路径: sql-connections/db-creds.inc

如下图,我们需要修改数据库连接的用户名和密码(别忘了保存):

上面的 $dbuser$dbpass 字段,可以参考 PhpStudy 数据库页面中内容:

3. SQLI LABS 靶场数据库初始化

修改完成后,我们就需要访问 SQLI LABS 靶场,完成靶场的初始化了。不过在此之前,记得开启 PhpStudy 的 Niginx(和 Apache 类似)和 MySQL 服务:

接下来,我们访问 SQLI LABS 靶场首页。我们刚刚是把 SQLI LABS 靶场的源码放在了 localhost 站点的 sqli-labs 目录下,所以我们访问靶场的地址为(如果报错,很有可能是 PHP 版本与靶场不符):

 http://localhost/sqli-labs

如上图,我们成功访问了靶场。但此时靶场的数据库还没有初始化完成,我们需要点击页面上的 "Setup/reset Database for labs" 按钮,初始化数据库(如果后续测试中,你不小心毁了这个数据库,你也可以通过点击这个按钮重置靶场):

4. 访问并使用 SQLI LABS 靶场

初始化完成后,我们重新输入下面的链接,再次访问 SQLI LABS 靶场:

 http://localhost/sqli-labs/

如上图,此时,我们就可以随意修改靶场难度,并且在不同难度的关卡中尽情的测试啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ | Leetcode C++题解之第477题汉明距离总和

题目&#xff1a; 题解&#xff1a; class Solution { public:int totalHammingDistance(vector<int> &nums) {int ans 0, n nums.size();for (int i 0; i < 30; i) {int c 0;for (int val : nums) {c (val >> i) & 1;}ans c * (n - c);}return …

Telegram——Bot 机器人/小程序入门指南

一、Bot 介绍 在 TG 中,机器人可以用于接收和发送消息、管理群组(在有权限的情况下可以封禁用户、删除消息、置顶消息等)、通过API进行编程操作、使用 Inline 查询功能在不同的聊天室中提供查询服务、创建自定义键盘按钮、发出账单并收款、接入小程序游戏等。 然而,Bot 默…

VMware免安装直接使用Win7成品虚拟机

VMware17 pro免安装直接使用Win7成品虚拟机 下载文件 下载VMWare与win7成品虚拟机&#xff08;PS&#xff1a;里面有Win10 和Win11&#xff0c;使用方法都是一样的&#xff09; ⏬下载链接⏬ 下载链接 使用虚拟机打开成品虚拟机

stable diffusion系列(1)------概述

本文是对李宏毅老师的课程的总结&#xff0c;B站链接如下&#xff1a; stable diffusion(1)概述 讲最经典的DDPM。 1. DDPM图像生成是一个多个step的去噪过程 DDPM是一个从噪声图像中通过不断去噪&#xff08;经过很多个step&#xff09;&#xff0c;生成图像的过程。 “雕像…

java面向对象编程--高级(二)

目录 一、内部类 1.1 成员内部类 1.1.1 静态和非静态 1.1.2 调用外部类的结构 1.2 局部内部类 1.2.1 非匿名和匿名 1.2.2 比较 1.2.3 练习 二、枚举类 2.1 枚举类讲解 2.2 代码实现 三、包装类 3.1 包装类与基本数据类型 3.2 练习 3.3 补充 四、自动生成单元测试…

vector(3)

vector(3) vector 迭代器失效问题。&#xff08;重点&#xff09; 迭代器的主要作用就是让算法能够不用关心底层数据结构&#xff0c;其底层实际就是一个指针&#xff0c;或者是对 指针进行了封装&#xff0c;比如&#xff1a;vector的迭代器就是原生态指针T 。因此迭代器失效…

sql server 用户只读表权限

新建登录名 数据库建用户 用户赋予登录名和架构 赋予用户只读权限 GRANT SELECT ON Users TO gt

Vue——Uniapp回到顶部悬浮按钮

代码示例 <template><view class"updata" click"handleup" :style"{bottom: bottomTypepx}" ><i class"iconfont icon-huidaodingbu"></i></view> </template><script> export default {n…

利用弹性盒子完成移动端布局(第二次实验作业)

需要实现的效果如下&#xff1a; 下面是首先是这个项目的框架&#xff1a; 然后是html页面的代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

解决element-ui图标不出现,或者乱码问题(已解决)复制粘贴

其实就是资源没找到&#xff0c;需要你手动添加。 下载个文件 通过百度网盘分享的文件&#xff1a;css 链接&#xff1a;https://pan.baidu.com/s/1jLngnKV3PuDYu2ohSlE5IQ?pwdt1z9 提取码&#xff1a;t1z9 https://pan.baidu.com/s/1jLngnKV3PuDYu2ohSlE5IQ?pwdt1z9 提取…

Python_函数式编程(生成器、迭代器、动态性)

简单说&#xff1a;时间换空间&#xff01;想要得到庞大的数据&#xff0c;又想让它占用空间少&#xff0c;那就用生成器&#xff01;延迟计算&#xff01;需要的时候&#xff0c;再计算出数据&#xff01; 创建生成器的方式二(生成器函数)生成器函数&#xff1a; 如果一个函数…

Spirng事务的传播学习

事务传播&#xff1a;一个事务方法在被调用时&#xff0c;如何与现有事务的交互行为。当方法被事务性地调用时&#xff0c;他应该加入当前事务还是开启一个新事物。 常见的事务传播机制&#xff08;7种&#xff09;&#xff1a; Propagation枚举类&#xff0c;定义了传播机制…

【D3.js in Action 3 精译_034】4.1 D3 中的坐标轴的创建(中一)

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

文件与fd

访问文件前&#xff0c;为什么必须要打开文件&#xff1f;/ 打开文件的实质 访问文件前&#xff0c;都必须先打开它&#xff0c; 如fopen 访问文件时&#xff0c;是进程在访问 所以文件必须加载到内存中 我们要访问文件时&#xff0c;一定要通过内存访问 文件没有被打开时&am…

UML(统一建模语言)

面向对象设计主要就是使用UML的类图&#xff0c;类图用于描述系统中所包含的类以及它们之间的相互关系&#xff0c;帮助人们简化对系统的理解&#xff0c;它是系统分析和设计阶段的重要产物&#xff0c;也是系统编码和测试的重要模型依据。 画图软件&#xff1a;ProcessOn思维…

人工智能和机器学习之线性代数(一)

人工智能和机器学习之线性代数&#xff08;一&#xff09; 人工智能和机器学习之线性代数一将介绍向量和矩阵的基础知识以及开源的机器学习框架PyTorch。 文章目录 人工智能和机器学习之线性代数&#xff08;一&#xff09;基本定义标量&#xff08;Scalar&#xff09;向量&a…

通过观测云 DataKit Extension 接入 AWS Lambda 最佳实践

前言 AWS Lambda 是一项计算服务&#xff0c;使用时无需预配置或管理服务器即可运行代码。AWS Lambda 只在需要时执行代码并自动缩放。借助 AWS Lambda&#xff0c;几乎可以为任何类型的应用程序或后端服务运行代码&#xff0c;而且无需执行任何管理。 Lambda Layer 是一个包…

5 个免费高清无水印视频素材库

短视频创作&#xff0c;素材是关键。以下为你推荐 5 个超棒的免费且无版权的高清无水印短视频素材网站&#xff0c;助你获取创作资源。 蛙学网 国内顶级素材站&#xff0c;有海量高质量素材&#xff0c;领域涉及自然风光、情感生活、游戏动漫以及社会人文等。其素材均为 4K 高…

集合框架07:LinkedList使用

1.视频链接&#xff1a;13.14 LinkedList使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p142.LinkedList集合的增删改查操作 package com.yundait.Demo01;im…

Vmware开箱即用win7系统

下载文件 下载VMWare与win7成品虚拟机资料&#xff08;PS&#xff1a;里面有Win10 和Win11&#xff0c;使用方法都是一样的&#xff09; ⏬下载链接⏬ 下载链接 使用虚拟机打开成品虚拟机