简介
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