SQL 注入之 Windows/Docker 环境 SQLi-labs 靶场搭建!

在安全测试领域,SQL注入是一种常见的攻击方式,通过应用程序的输入执行恶意SQL查询,从而绕过认证和授权,可以窃取、篡改或破坏数据库中的数据。作为安全测试学习者,如果你要练习SQL注入,在未授权情况下直接去攻击一个网站是违法的,安全测试靶场则提供了一个安全实验环境,可以放心地进行攻防实战操作,提升自己的技能。本文就给大家详细讲解如何在windows、docker环境下搭建sqli-labs靶场!

在安全测试领域,SQL注入是一种常见的攻击方式,通过应用程序的输入执行恶意SQL查询,从而绕过认证和授权,可以窃取、篡改或破坏数据库中的数据。作为安全测试学习者,如果你要练习SQL注入,在未授权情况下直接去攻击一个网站是违法的,安全测试靶场则提供了一个安全实验环境,可以放心地进行攻防实战操作,提升自己的技能。本文就给大家详细讲解如何在windows、docker环境下搭建sqli-labs靶场!

一、SQLi-labs简介

SQLi-labs是由印度程序员开发,专门用于练习SQL注入的靶场,其中包含各种注入姿势,并适用于GET和POST等场景。主要包含:基础错误注入、报错注入、盲注、MySQL读写文件、更新查询注入、插入查询注入、Header头部注入、二次注入、绕过WAF、绕过addslashes函数、绕过mysql_real_escape_string函数、堆叠注入。

二、Windows搭建SQLi-labs靶场

1、基于PHPStudy进行靶场搭建,关于PHPStudy下载及安装,看我之前写过的文章 http://testingpai.com/article/1708419594887

2、下载SQLi-labs,源码下载链接:https://github.com/Audi-1/sqli-labs.git

图片

3、下载后解压对应文件,并放入phpstudy安装目录的WWW目录下

图片

4、打开浏览器,输入“http://windows服务器ip/sqli-labs-master/” ,可以看到如下的界面,点击“Setup/reset Database for labs”,会出现Access denied的提示。这里我们要先配置下数据库文件。

图片

图片

5、打开sqli-labs-master\sql-connections\db-creds.inc,配置dbuser、dbpass为phpstudy中数据库的用户名和密码信息,修改后保存保存文件。

图片

6、再去刷新刚报错界面,出现如下图片,则表示搭建成功。

图片

三、Docker快速搭建SQLi-labs靶场

1、请先确保已经安装好了Docker。Docker可以快速实现搭建,不需手动配置;且安全测试靶场环境相互独立。是安全测试学习者非常青睐的一种部署方式。

2、执行:docker search sqli-labs。从docker hub上搜索sqli-labs,选择一个STARS最高的来下载。

图片

3、执行:docker pull acgpiano/sqli-labs , 从docker hub拉取对应sqli-labs镜像。

图片

3、执行:docker run -dt --name sqli-labs -p 81:80 --rm acgpiano/sqli-labs, 将镜像运行为容器

图片

  • -d 表示后台运行,返回容器id

  • -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

  • --name sqli-labs 将容器命名为sqli-labs

  • -p 81:80 映射外部访问端口

  • --rm 是指当其关闭后删除开启的资源

  • acgpiano/sqli-labs 镜像名

4、浏览器输入:docker所在服务器ip:81, 出现如下界面

图片

5、点击Setup/reset Databse for labs,创建数据库成功则表示靶场部署成功。接下来即可开始SQL注入练习。

图片

学无止境,行以致远!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DedeCMS 未授权远程命令执行漏洞分析

dedecms介绍 DedeCMS是国内专业的PHP网站内容管理系统-织梦内容管理系统,采用XML名字空间风格核心模板:模板全部使用文件形式保存,对用户设计模板、网站升级转移均提供很大的便利,健壮的模板标签为站长DIY自己的网站提供了强有力…

【AIGC】本地部署通义千问 1.5 (PyTorch)

今天想分享一下 Qwen 1.5 官方用例的二次封装( huggingface 说明页也有提供源码),其实没有太多的技术含量。主要是想记录一下如何从零开始在不使用第三方工具的前提下,以纯代码的方式本地部署一套大模型,相信这对于技术…

Springboot+Vue项目-基于Java+MySQL的旅游网站系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

JDX图片识别工具:扫描PDF文件批量改名的应用场景

业务场景 案例1:人事部人员扫描了几百份简历,保存为PDF格式,但是名字是一串数字,不好分辨,有没有能识别里面姓名内容并自动重命名文件的方法 案例2:财务人员有的批量导出很多PDF电子发票,导出…

MATLAB 构建协方差矩阵,解算特征值和特征向量(63)

MATLAB 局部点云构建协方差矩阵,解算特征值和特征向量(63) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 对于某片有待分析的点云,我们希望构建协方差矩阵,计算特征值和特征向量,这是很多算法必要的分析方法,这里提供完整的计算代码(验证正确) !!! 特别需要注意…

swiftui macOS实现加载本地html文件

import SwiftUI import WebKitstruct ContentView: View {var body: some View {VStack {Text("测试")HTMLView(htmlFileName: "localfile") // 假设你的本地 HTML 文件名为 index.html.frame(minWidth: 100, minHeight: 100) // 设置 HTMLView 的最小尺寸…

分享 GoLand 2024.1 激活的方案,支持JetBrains全家桶

大家好,欢迎来到金榜探云手! GoLand 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 GoLand等。这些工具被广…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第二套

华为海思校园招聘-芯片-数字 IC 方向 题目分享(共9套,有答案和解析,答案非官方,未仔细校正,仅供参考)——第二套(共九套,每套四十个选择题) 部分题目分享,完整版获取&am…

SQL注入sqli_libs靶场第一题

第一题 联合查询 1)思路: 有回显值 1.判断有无注入点 2.猜解列名数量 3.判断回显点 4.利用注入点进行信息收集 爆用户权限,爆库,爆版本号 爆表,爆列,爆账号密码 2)解题过程&#xff1…

Qt发布可执行exe

文章目录 方法步骤1:在release下编译程序。步骤2:windous R 输入CMD步骤3:切换到你的release目录下。步骤4:打开cmd运行windeployqt xx.exe Qt错误:windeployqt 不是内部或外部命令,也不是可运行的程序 或批…

购物车实现

目录 1.购物车常见的实现方式 2.购物车数据结构介绍 3.实例分析 1.controller层 2.service层 1.购物车常见的实现方式 方式一:存储到数据库 性能存在瓶颈方式二:前端本地存储 localstorage在浏览器中存储 key/value 对,没有过期时间。s…

自动化测试-web

一、自动化测试理论: UI: User Interface (用户接口-用户界面),主要包括:app 和webUI自动化测试:使用工具或代码执行用例的过程什么样的项目适合做自动化: 需要回归测试项目(甲方自…

CH254X 8051芯片手册介绍

1 8051CPU 8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔(Intel)公司于1981年制造。Intel公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公…

34-5 CSRF漏洞 - CSRF分类

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 1)GET 类型 传参: 参数连接在URL后面 POC构造及执行流程: 构造URL,诱导受害者访问点击利用利用标签进行攻击: 构造虚假URL,在链接上添加payload抓包获取数据包,通过CSRF POC…

JavaEE初阶Day 7:多线程(5)

目录 Day 7:多线程(5)1. 死锁2. 死锁场景3. 场景二:两个线程,两把锁4. 场景三:N个线程,M把锁5. 避免死锁问题6. 内存可见性问题 Day 7:多线程(5) 回顾synchr…

grpc-教程(golang版)

目录 一、介绍 二、环境准备 三、Golang中使用grpc 1.编写protobuf文件 2.服务端 3.客户端 四、proto文件详解 1.proto语法 2.数据类型 基本数据类型 数组类型 map类型 嵌套类型 编写风格 3.多服务 4.多个proto文件 五、流式传输 1.普通rpc 2.服务器流式 …

03-JAVA设计模式-责任链模式

责任链模式 什么是责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,允许你将请求沿着处理者链进行传递。每个处理者均对请求进行某些处理,并可决定是否将请求沿着链传递下去。这种模式给予请求的处理…

使用 Meltano 将数据从 Snowflake 导入到 Elasticsearch:开发者之旅

作者:来自 Elastic Dmitrii Burlutskii 在 Elastic 的搜索团队中,我们一直在探索不同的 ETL 工具以及如何利用它们将数据传输到 Elasticsearch,并在传输的数据上实现 AI 助力搜索。今天,我想与大家分享我们与 Meltano 生态系统以及…

ThreadX:怎么确定一个线程应该开多少内存

ThreadX:如何确定线程的大小 在实时操作系统(RTOS)ThreadX中,线程的大小是一个重要的参数。这个参数决定了线程的堆栈大小,也就是线程可以使用的内存空间。那么,我们应该如何确定一个线程需要多大的字节呢…

应用实战|从头开始开发记账本2:基于模板快速开始

上期视频我们创建好了BaaS服务的后端应用。从这期视频开始,我们将从头开发一个互联网记账本应用。本期视频我们介绍一下如何使用模板快速开启我们的应用开发之旅。 应用实战|从头开始开发记账本2:基于模板快速开始 相关代码 本期视频我们介绍…