前言:

  sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程

  sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载php5有点麻烦的话,可以看我文章的最后,那里有解决方法。

正文:

  1. 下载 sqli 靶场 https://github.com/Audi-1/sqli-labs
  2. linux系统:解压缩到 /var/www/html/ 目录下(如果安装apache时改变了路径,就解压到改变的路径下)
mv 文件名 /var/www/html/    #移动文件
tar -zxvf 文件名            #解压文件

   3. 修改 sqli-labs-master/sql-connerctions/db-creds.inc 文件

<?php
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='root';  #修改为你的数据库密码
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>

   4. 然后点击 setup/reset Database for labs

   5.出现以下内容,就说明sqli靶场搭建完成了,小伙伴们可以愉快的游戏了

   6.若出现以下页面,是由两种原因

  • 未正确访问该页面
  • sqli 靶场和 php 版本不兼容

解决办法:

未正确访问页面:

http://127.0.0.1:8080  (http://IP:端口)

http://localhost/sqli/    (http://localhost/域名)

可以按照以上两种方式进行访问

sqli靶场与php版本不兼容:

1. 把 php 版本降到 5.6 以下

2. 对sqli靶场代码进行更改

序号更换替换为
1mysql_query($ sql)mysqli_query($ con,$ sql)
2mysql_error()mysqli_error($ con)
3mysql_fetch_array($ result)mysqli_fetch_array($ result,MYSQLI_BOTH)
4mysql_fetch_array($ result1)mysqli_fetch_array($ result1,MYSQLI_BOTH)
5mysql_connect($ host,$ dbuser,$ dbpass)mysqli_connect($ host,$ dbuser,$ dbpass)
6mysql_real_escape_string($ value)mysqli_real_escape_string($ con,$ value)
7mysql_select_db($ dbname,$ con)mysqli_select_db($ con,$ dbname)

ps:您必须更改所有课程的 index.php,课程中的其他php文件以及sql-connections文件夹中存在的所有php文件。

然后分享一个sqli靶场的过关宝典,希望对大家有所帮助。 链接:https://pan.baidu.com/s/1yGFUik9KYE2QbpW_JL85ag 提取码:04jf

02-10 10:02