sqli-labs环境搭建及数据库基础

简介

SQLI-LABS是集成了多种SQL注入类型的漏洞测试环境,可以用来学习不同类型的SQL注入。
1、Error Based Sql Injections - Union select type.
2、Error Based Sql Injections - Double Query type.
3、Boolian Based Blind Injections.
4、Time Based Blind Injections.
5、Dumping the DB using outfile / Dumpfile.
6、POST based Sql injections Error based type - union select.
7、POST based Sql injections - Double injection type.
8、POST based Blind injections -Boolian / Time based.
9、Injection in the UPDATE query.
10、Injection in the Headers.
11、Injection in cookies.

环境搭建

下载phpstudy
下载sqli-labs
将下载好的sqli-labs解压放入phpstudy的www目录下
修改sql-connections/db-creds.inc文件当中的mysql账号密码

选择第一个进行安装


访问http://127.0.0.1/sqlilabs/,在最下方即可看见题目地址

数据库基础知识

select * from table_name limit m,n;表示从m+1开始取n条查询记录

desc 表名(查看表的结构)




SQL注入一般流程

猜数据库名

猜表名

猜列名

猜某个字段的内容

Mysql函数

系统常用函数

user()——数据库用户名
database()——数据库名
version()——MySQL版本
@@datadir——数据库路径
@@version_compile_os——操作系统版本

连接字符串函数

concat(str1,str2,str3),返回str1+str2+str3;当有一个字符串为NULL时,即返回NULL
例如select concat(id,’,’,name) as con from info limit 1;
concat_ws(separator,str1,str2,str3),返回str1+separator+str2+separator+str3
例如select concat_ws(’,’,id,name) as con from info limit 1;
group_concat(str1,str2,str3),返回str1+str2+str3;

其他字符串处理函数

ascii(a)将a转换成其ASCII值
ord(a)将a转换成其ASCII值
left(a,b)从左往右截取字符串a的前b个字符
substr(a,b,c)从b位置开始,截取字符串a的c长度
mid(a,b,c)从位置b开始,截取a字符串的c位

regexp、like语句

结果正确,则返回1;否则,返回0

文章作者: Mochazz
文章链接: https://mochazz.github.io/2017/09/12/sqli-labs/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mochazz's blog