SQL注入练习平台sqli-labs

什么是sqli-labs

最近部门举办了一次安全比赛,我开始迷上了SQL注入技术。在网上找了些知识和图书,目前没有非常系统的学习教程,边看资料边实践,边学边写博客,属于现学现卖。

经过一段时间的学习,发现SQL注入知识体系非常复。没有一个好的领路人,将很难学习SQL注入技术。最近学习时发现一个绝佳的学习平台sqli-labs,非常适合SQL注入初学者。

正如它名字所言,这是个【SQL注入实验平台】项目,它覆盖了SQL注入的各种知识和练习场景,非常适合SQLI注入新手作为入门平台,希望大家能用好这个平台,提升自己的技能。

安装sqli-labs

sqli-labs托管在github网站,直接打开README.md文件,有详细的安装介绍。

sqli-labs项目基于MySQL + PHP开发,需要事先安装好MySQL、php和Apache。在SQL注入基础一文已详细介绍Ubuntu 12.04安装MySQL、php和Apache,这里不再赘述。

默认情况,Apache服务器的根目录配置在/var/www,只需在该目录进行git clone操作,即可将sqli-labs项目下载,命令如下:

cd /var/www 
sudo git clone https://github.com/Audi-1/sqli-labs.git sqli-labs

下载完成后,还需要配置sqli-labs连接MySQL数据库的用户名和密码(我电脑的MySQL用户名和密码均是设置为”root”,各位根据自己实际的用户名和密三进行配置),步骤如下:

sudo vim /var/www/sqli-labs/sql-connections/db-creds.inc 
$dbuser变量值修改成”root” 
$dbpass变量值修改成”root”

通过浏览器访问http://localhost/sqli-labs

注:笔者有两个家用电脑,一台笔记本安装Ubuntu 12.04,安装MySQL + PHP + Apache + sqli-labs,另一台式机安装Windows 7,通过https协议访问Ubuntu上的sqli-labs项目。所以我的访问地址类似为 http://192.168.0.107/sqli-labs/,后面讨论练习题时会以这个地址进行讲解。

访问成功,那说明sqli-labs安装成功了。 最后一步是配置sqli-labs这个项目所用到的数据库。

点击首页的Setup/reset Database for labs(或输入地址 http://192.168.0.107/sqli-labs/sql-connections/setup-db.php),sqli-labs项目自动创建数据库、表和插入数据。

至此,sqli-labs项目已完装和配置完毕,可以正常升级打怪兽了。

写在最后

大家可以按照sqli-labs上的练习题一步步学习,看不懂所涉及的技术细节时,可以翻一下我这个博客。 
我不按这些题目序顺来写,而是按本人对SQL注入的理解来写,当需要使用例子讲解时,我会拿sqli-abls练习题做测试和讲解。

猜你喜欢

转载自blog.csdn.net/stridebin/article/details/79486743