Sqli-labs
作为一个练习sql注入的绝佳靶场, 有时候搭建起来真让人头疼..(特别是电脑系统渣渣的我)
这里搭建有两种方法:
一、github+apache2+php5.*+mysql 本机环境部署
这种搭建比较麻烦, 要考虑到版本兼容型以及库的依赖问题...
打个比方, 比如我的电脑是linux系统, 之前安装好了apache2, 在选择php的时候要用5.*的版本, 虽然现在php5的版本可以通过tar.gz下载而得, 但是博主遇到了需要依赖问题, 比如libjpeg-dev这些古老的库, 所以本人采用这种方法最后并没有成功....
话不多说, 大概说一下思路:
1. 首先用apt安装apache2: sudo apt-get install apache2
这个过程是傻瓜式安装, 如读者想锻炼动手能力的话, 可以下载源代码编译安装之.
2. 安装php5.*的环境, 注意, 这里解释一下为什么要用5.*的版本, 因为Sali-labs中的php脚本是用php5版本完成的, 若用 php7的版本, 两个版本差异还是很大的。 打个比方, 本人遇到的问题就是, php5连接mysql用的函数是mysql_connect(); 而php7版本是废弃了这个函数改用mysqli_connect()的, 一个地方出错, 就会一生二, 二生三, 三生万物........
安装方法, 我尝试过改镜像源(还是最新的7.*版本)和源代码编译安装(依赖太多)的方法..最终没有安装成功
不过在自己的云服务器上安装成功了, 可能是系统问题把...
附上php7版本时, 需要修稿的源码函数:
3. 最后是通过github克隆项目: git@github.com:Audi-1/sqli-labs.git
到指定目录下, 用命令: sudo git clone git@github.com:Audi-1/sqli-labs.git 将项目下载到指定目录:
4. mysql安装就不老生常谈了..具体参阅网上
5. 配置Sqli-labs
修改文件sql-connections/db-creds.inc的mysql的配置, 主要是用户名和密码:
6. 运行
运行就使用url地址访问: localhost:80/sqli-labs
点击 Setup/reset Database for labs 初始化数据库.
然后就可以点击下面的分支进行练习了!
二、docker搭建虚拟环境 (推荐)
1. sudo docker pull acgpiano/sqli-labs 拉取镜像
2. 用镜像运行一个容器: sudo docker run -d -P acgpiano/sqli-labs
得到容器的id和映射的端口
3. 使用url: localhost:32772 访问即可
4. 若想访问网站的源代码怎么办?
可以使用: sudo docker exec -it e5bc /bin/bash 已shell进入docker容器
sqli-labs网站的源代码在目录: /var/www/html下