往往很多新手在刚学习SQL注入的时候,都需要拥有一个能SQL注入的网站,需要有SQL注入点的。直接去互联网上找的话对新手未免有点太难了,因此:我们一般都是在本地搭建一个能SQL注入测试的网站,那样我们学习SQL注入就容易多了。
由于本地能搭建SQL注入的平台或程序太多了,今天我主推一个:SQLi-Labs;
下面就给大家讲一下,windows本地如何搭建SQL注入测试平台SQLi-Labs?
一、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"。
2、将下载的 SQLi-Labs.zip 解压到phpstudy网站根目录下。
例如:我这解压后的路径是“F:\phpStudy\WWW\sqli-labs”。
3、修改 db-creds.inc 里代码如下:
例如:我的配置文件路径是“F:\phpStudy\WWW\sqli-labs\sql-connections”。
<?php
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='root';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
因为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注入漏洞。
总结:虽然说SQL注入搭建平台很多,程序也很多,但是很多的漏洞测试平台都不专一,大多数平台漏洞包含是比较全面的。
sqli-labs它是只专注SQL注入漏洞的,如果你只想主攻这个SQL注入方向,此平台真的是非常的给力。据统计,互联网上SQL注入漏洞占整体的百分之六十左右。