在安全测试领域,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下载及安装,看我之前写过的文章 windows系统上搭建Phpstudy集成环境 + DVWA靶场!超详细教程建议收藏!
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注入练习。

学无止境,行以致远!
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取



2252

被折叠的 条评论
为什么被折叠?



