前言:
sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程
sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载php5有点麻烦的话,可以看我文章的最后,那里有解决方法。
正文:
linux系统:解压缩到 /var/www/html/ 目录下(如果安装apache时改变了路径,就解压到改变的路径下)
mv 文件名 /var/www/html/ #移动文件
tar -zxvf 文件名 #解压文件
3. 修改 sqli-labs-master/sql-connerctions/db-creds.inc 文件
$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靶场代码进行更改
序号
更换
替换为
1
mysql_query($ sql)
mysqli_query($ con,$ sql)
2
mysql_error()
mysqli_error($ con)
3
mysql_fetch_array($ result)
mysqli_fetch_array($ result,MYSQLI_BOTH)
4
mysql_fetch_array($ result1)
mysqli_fetch_array($ result1,MYSQLI_BOTH)
5
mysql_connect($ host,$ dbuser,$ dbpass)
mysqli_connect($ host,$ dbuser,$ dbpass)
6
mysql_real_escape_string($ value)
mysqli_real_escape_string($ con,$ value)
7
mysql_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