一、SQLi-Labs是什么?
SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含了以下注入:
1、基于错误的注入(Union Select)
字符串
整数
2、基于误差的注入(双查询注入)
3、盲注入(01、基于Boolian数据类型注入, 02、基于时间注入)
4、更新查询注入(update )
5、插入查询注入(insert )
6、Header头部注入(01、基于Referer注入, 02、基于UserAgent注入,03、基于cookie注入)
7、二阶注入,也可叫二次注入
8、绕过WAF
绕过黑名单过滤器剥离注释剥离 OR&AND 剥离空格和注释剥离 UNION和SELECT
隐瞒不匹配
9、绕过addslashes()函数
10、绕过mysql_real_escape_string()函数(在特殊条件下)
11、堆叠注入(堆查询注入)
12、二级通道提取
以下操作建议在虚拟机中进行
二、SQLi-Labs 下载
下载地址:https://github.com/Audi-1/sqli-labs
三、SQLi-Labs 安装
在安装前,需要做一个准备工作,我们先去做一个PHP+Mysql的环境搭建。
1、下载、安装、启动phpstudy(www.phpstudy.net)。
phpStudy是一个PHP调试环境的程序集成包。恰好我们可以用到"PHP+Mysql+Apache"。
(注意:PHP版本一定要设置成PHP7以下,PHP7之后的mysql都改成啦mysqli-**啦,用PHP7以上的版本会报错)
2、将下载的 SQLi-Labs.zip 解压到phpstudy网站根目录下。
例如:我这解压后的路径是“C:phpStudyWWWsqli-labs”。
3、修改 db-creds.inc 里代码如下:
例如:我的配置文件路径是“C:phpStudyWWWsqli-labs-mastersql-connections”。
因为phpstudy默认的mysql数据库地址是“127.0.0.1 或 localhost",用户名和密码都是"root"。主要是修改’$dbpass‘为root,这里很重要,修改后自然是需要保存文件的,这个不用说相信大家也能知道。
4、浏览器打开“http://127.0.0.1/sqli-labs/”访问首页,并点击“Setup/reset Database”以创建数据库,创建表并填充数据。
5、现在浏览器打开 "http://127.0.0.1/sqli-labs/"向下翻,就可以看到有很多不同的注入点了,分为基本SQL注入、高级SQL注入、SQL堆叠注入、挑战四个部份,总共约75个SQL注入漏洞。