1 sqli-labs简介
我们在刚学习 SQL 注入的时候,往往都需要一个能 SQL 注入的网站进行 SQL 注入学习。如果直接去网上寻找存在 SQL 注入的网站对新手来说有些难度,因此我们一般都是在本地搭建一个能 SQL 注入测试的网站。
sqli-labs 是一个专业的 SQL 注入练习平台,它适用于 GET 和 POST 等多场景的注入。
2 WAMP环境部署
在本实验中,所搭建的sqli-labs漏洞靶场依托于WAMP环境,在win2008上安装phpstudy的过程请参考文章《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》,本文不再赘述。
注意: PHP 版本一定要设置成 PHP5 以上,PHP7 以下,PHP5 以上才有 information_schema 库,PHP7 之后的 mysql_ 都改成了 mysqli_** 了,所以用其他版本的 PHP 可能会出错。
3 sqli-labs漏洞靶场搭建步骤
3.1 下载
可以在GitHub上下载相关源码。下载网址为https://github.com/Audi-1/sqli-labs,点击此处下载压缩包。 注意,此sqli-labs源码对应PHP5xx版本,如果PHP版本为PHP7xx版本,则sqli-labs源码下载地址为:https://github.com/skyblueee/sqli-labs-php7。
3.2 解压及重命名
将压缩包解压后,为方便后续访问该靶场,建议将文件夹重命名为sqli-labs或其他更简介明确的名称。
3.3 复制到phpstudy网站根目录
将sqli-labs文件夹复制到phpstudy网站根目录WWW文件夹下,如我的:C:\phpStudy\PHPTutorial\WWW
3.4 修改配置文件
修改 \sqli-labs\sql-connections 目录下的 db-creds.inc 文件内容,将数据库默认的信息修改为自己数据库的信息。 原配置文件如下:
<?php
$dbuser ='root';
$dbpass ='';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>
主要是修改 dbpass 的内容,在部分 linux 中数据库密码默认为空,phpStudy 的 Windows 版中数据库密码默认为 root,如果使用其他环境则根据具体环境修改即可。本文由于采用了Windows 版中的phpStudy,因此 dbpass 修改后如下:
3.4 安装
真实机或其他虚拟机可以通过浏览器输入靶场IP+/sqli-labs来访问靶场,本文输入的地址为:http://172.16.1.1/sqli-labs/ 。并点击「Setup/reset Database for labs」安装和初始化创建数据库
3.5 访问
在浏览器输入http://172.16.1.1/sqli-labs/ 访问sqli-labs靶场,该靶场分为基础 SQL 注入、高级 SQL 注入、SQL 堆叠注入、挑战四个部份,总共约 75 个 SQL 注入漏洞。
|