信息安全培训行业领军者 信息安全教育领域上市公司第一股
NISP运营中心
010-56959275

西普教育 > 网络安全工程师培训(NISP+) > SQLI和sqli-labs介绍

SQLI和sqli-labs介绍

来源:网络 作者:不详 发布时间:2018-10-08 14:33:48


SQLI和sqli-labs介绍


SQLI,sql injection,我们称之为sql注入。何为sql,英文:Structured Query Language,叫做结构化查询语言。常见的结构化数据库有MySQL,MS SQL ,Oracle以及Postgresql。Sql语言就是我们在管理数据库时用到的一种。在我们的应用系统使用sql语句进行管理应用数据库时,往往采用拼接的方式形成一条完整的数据库语言,而危险的是,在拼接sql语句的时候,我们可以改变sql语句。从而让数据执行我们想要执行的语句,这就是我们常说的sql注入。

原理性的东西我们这里就不进行详细的讲解了,从sqli-labs以下的每一个关卡中,你能真正体会到什么是sql注入。Ps:有些朋友对工具比较熟悉,例如sqlmap,可以从sqlmap的日志中分析每个关卡的原理。但是我个人建议先去了解原理,再去使用工具。这样在使用工具的时候你也能深刻的理解工具起到了什么样的作用。更近一步你应该想着如果让你自己写代码实现攻击,你应该如何写。

Ps:因为本项工作我是在多个平台和多个浏览器下进行测试的,所以截图等可能会有不同的环境,但是都能说明原理。这里就不要吹毛求疵了。图片刚开始有很多都是chrome下截取的,后来发现不是很好看,所以在图片上面的url全部粘贴。尽量用firefox,有hackbar。

Sqli-labs下载

Sqli-labs是一个印度程序员写的,用来学习sql注入的一个游戏教程。博客地址为:

http://dummy2dummies.blogspot.hk/,博客当中有一些示例,国内很多博客内容都是从该作者的博客翻译过来的。同时该作者也发了一套相关的视频,在youtube上可以查看。ps:印度人讲英语口音太重了。。。。凑合着听懂点。

此处考虑到有些朋友不会FQ,遂分享到国内地址。

http://pan.baidu.com/s/1dFggvVN

Ps:不想看视频的可以直接忽略视频,口音实在脑门疼,此处本来想自己录视频的,但现在来看,时间比较有限

Sqli-labs项目地址---Github获取:https://github.com/Audi-1/sqli-labs

(考虑到安全性问题,就不搬运这个了)

Sqli-labs安装

需要安装以下环境

  1. apache+mysql+php
  2. Tomcat+mysql+java(部分关卡需要)

    如果可以的话,推荐在windows和linux下分别安装:

    Windows下可以用wamp、phpstudy、apmserv等直接安装,linux下可在网上搜索教程进行安装。例如ubuntu下,新手基本靠软件中心和apt-get 进行安装。这里就不赘述环境的安装了。

    我的测试环境是windows下用wamp直接搭建的,linux平台用ubuntu14.04,apache+mysql+php

     

    同时,在后面的几个关卡中,需要用到tomcat+java+mysql的服务器,此处因已经安装apache+mysql+php,所以我们需要安装tomcat+jre+java连接mysql的jar,具体过程不详细讲解。

    Sqli-labs安装

    将之前下载的源码解压到web目录下,linux的apache为 /var/www/html下,windows下的wamp解压在www目录下。

    修改sql-connections/db-creds.inc文件当中的mysql账号密码

    将user和pass修改你的mysql 的账号和密码,访问127.0.0.1的页面,点击

    进行安装数据库的创建,至此,安装结束。我们就可以开始游戏了。



快速申请

更多免费资源请关注

  • 微信公众号

认证中心

  • CISSP(国际注册信息