【教学】SQLi-Labs环境搭建

97 0
2022-1-8 17:36:41
显示全部楼层
sqli-labs简介
对于想要学习web安全的同学 , 这是一个非常好的学习有关SQL注入的学习资料
类似于闯关的模式 , 每一个关卡都有非常多的思路和利用方式
这些关卡包含了各种常见的SQL注入姿势 :
  • 明注
  • 盲注
  • 基于bool
  • 基于时间
  • 基于报错


环境要求 :
php
mysql
web服务器(Aapche或者其他)
注 :
这里笔者使用操作系统是ubuntu16.04 , 如果大家使用的操作系统是Widnows的话
区别只是在如何去安装和配置php/mysql/apache服务器
这些百度/Google上已经有很多很详细的教程了 , 就不再赘述
大家可以直接使用例如xampp/wamp这样的服务器套件

部署流程 :
  • 搭建lamp环境
  • 从github上克隆最新的sqli-labs仓库
  • 将克隆的仓库移动到apache的web目录下
  • 配置php文件(数据库密码)
  • 浏览器访问启动页面进行安装


部署教程 :
  • 搭建lamp环境 :

sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo apt-get install mysql-server
注 : 如果你的ubuntu是16.* , 在安装php的时候可能会出现找不到php5的情况 , 这个是因为ubuntu16以后对php5不再进行支持 , 如果你使用apt-get install php的话 , 安装的默认为php7 , 但是这个问题是可以通过添加php5的第三方源来解决的 , 可以使用下面这条几条命令 :
sudo add-apt-repository ppandrej/php
sudo apt-get update
sudo apt-get install php5.6
  • 启动apache和mysql

sudo service apache2 start
sudo service mysql start
  • 测试php是否安装成功 , 使用php探针
    在web目录下编写php代码保存为phpinfo.php

<?php
phpinfo();
?>
访问http://127.0.0.1/phpinfo.php, 如果出现php的基本信息则说明php已经安装成功 , 这个时候就可以把这个探针文件删除
  • 测试php连接数据库是否成功
    在web目录下编写php代码保存为 : database.php

<?php
  $con = mysql_connect("localhost","root","password");
// 这里填写数据库的地址(由于是本机因此localhost或者127.0.0.1都可以)/用户名/密码
  if ($con) {                echo "OK!";
  }else {                die('Could not connect: ' . mysql_error());
  }?>
然后访问http://127.0.0.1/database.php, 如果数据库配置正确的话 , 页面会显示OK!, 同理也可以删除这个文件
否则会显示错误信息 , 可以根据这个错误信息去寻找解决方案
  • 安装git

apt-get install git
  • 从github上克隆sqli-labs仓库

git clone https://github.com/Audi-1/sqli-labs.git
如果只是为了练习sql注入的话 , 这一步还有上面的安装git的那一步其实可以省略 , 因为github提供了一个直接下载仓库源码压缩包的功能 , 下载解压之后也是相同的效果
  • 进入sqli-labs目录, 修改数据库配置文件 :
    sqli-labs/sql-connections/db-creds.inc

<?php//give your mysql connection username n password$dbuser ='root';
$dbpass ='';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>
  • 复制这个目录到apache的web目录(默认为 :/var/www/html/)

sudo cp -r ./sqli-labs /var/www/html/
  • 然后在浏览器中访问 :http://127.0.0.1/, 就可以看到启动的页面了
  • 点击页面中的Setup/reset Database for labs链接 , 让其进行安装(这个过程其实就是创建必要的数据库和表 , 并插入一些测试数据)