[sqli-labs]下载与部署

本文详细介绍sqli-labs的部署流程,包括搭建LAMP环境、配置数据库等步骤,适用于Ubuntu 16.04系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqli-labs简介


对于想要学习web安全的同学 , 这是一个非常好的学习有关SQL注入的学习资料
类似于闯关的模式 , 每一个关卡都有非常多的思路和利用方式
这些关卡包含了各种常见的SQL注入姿势 :

  • 明注
  • 盲注
    • 基于bool
    • 基于时间
    • 基于报错

Github地址


环境要求 :
php
mysql
web服务器(Aapche或者其他)

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


部署流程 :

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

部署教程 :

  1. 搭建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 ppa:ondrej/php
    sudo apt-get update
    sudo apt-get install php5.6
  2. 启动apache和mysql
    sudo service apache2 start
    sudo service mysql start
  3. 测试php是否安装成功 , 使用php探针
    在web目录下编写php代码保存为phpinfo.php
    <?php
         phpinfo();
    ?>
    访问 http://127.0.0.1/phpinfo.php , 如果出现php的基本信息则说明php已经安装成功 , 这个时候就可以把这个探针文件删除
  4. 测试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! , 同理也可以删除这个文件
    否则会显示错误信息 , 可以根据这个错误信息去寻找解决方案
  5. 安装git
    apt-get install git
  6. 从github上克隆sqli-labs仓库
    git clone https://github.com/Audi-1/sqli-labs.git
    如果只是为了练习sql注入的话 , 这一步还有上面的安装git的那一步其实可以省略 , 因为github提供了一个直接下载仓库源码压缩包的功能 , 下载解压之后也是相同的效果
  7. 进入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";
    ?>
  8. 复制这个目录到apache的web目录(默认为 : /var/www/html/)
    sudo cp -r ./sqli-labs /var/www/html/
  9. 然后在浏览器中访问 : http://127.0.0.1/ , 就可以看到启动的页面了
  10. 点击页面中的Setup/reset Database for labs链接 , 让其进行安装(这个过程其实就是创建必要的数据库和表 , 并插入一些测试数据)

参考资料 :

  1. ubuntu 搭建lamp
  2. 如何使用git
  3. 如何使用github
  4. 如何安装配置apache服务器
  5. 如何安装php
  6. 如何安装mysql

### 如何部署 sqli-labs #### 环境准备 为了成功部署sqli-labs,需先准备好相应的开发环境。此工具依赖于PHP和Apache服务器来运行[^1]。 对于数据库管理部分,则推荐使用MySQL,并可通过Navicat这类图形化界面工具来进行操作[^2]。 #### 下载并解压项目文件 前往GitHub页面获取最新版的sqli-labs压缩包,将其下载至本地计算机之后再上传到Linux系统的指定目录下;接着利用命令行完成解压缩工作: ```bash tar zxvf sqli-labs-master.tar.gz -C /var/www/html/ ``` #### 修改配置文件路径权限设置 进入`/var/www/html/sqli-labs/sql-connections/`找到名为`db-creds.inc`的文件,在其中修改连接参数以适应个人所使用的MySQL服务实例地址以及端口信息(如果默认不是3306的话),比如将localhost改为带有自定义端口号的形式如`localhost:3307`[^3]。 另外还需调整该文件夹及其内部资源读写属性以便Web应用能够正常访问数据源: ```bash chown www-data:www-data sql-connections/db-creds.inc chmod 644 sql-connections/db-creds.inc ``` #### PHP版本确认及模块加载 考虑到不同版本之间可能存在兼容性差异,建议事先验证当前系统内已安装好的PHP解释器具体编号是多少。由于某些情况下可能会存在多个共存的情况,因此有必要通过编辑/etc/apache2/mods-enabled/php.conf等方式确保启用的是适合目标应用程序执行的那个特定发行版——例如PHP 7.2.x系列[^4]。 最后重启HTTPD进程使上述更改生效即可开始体验这款优秀的安全测试平台了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值