要想征服天空,你需要的不是一双翅膀,而是一个想飞的梦。
sql注入过程中需要用到一些函数来完成测试过程。
- mid()函数
mid(column_name,start[,length])
这个函数作用是从指定字段中提取出字段的内容。
column_name:
字段名
start:
开始位置
length:
长度
例子:
- limit()
返回结果中的前几条数据或者中间的数据
SELECT * FROM TABLE LIMIT M,N;
m是指记录开始的index,从0开始,表示第一条记录。
n是指从第m+1条开始,取n条。
- concat()、concat_ws()、group_concat()
concat()函数可以连接一个或者多个字符串
concat(str1,str2,str3,....)
返回结果为连接参数产生的字符串,但是如果其中一个参数为NULL ,则返回值为 NULL。
concat_ws()
concat_ws()(separator,str1,str2,...)
第一个参数是分隔符,看例子。
group_concat()
分组拼接函数
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
-
Count() 聚集函数,统计元祖个数
- rand() 产生一个0~1的随机数
-
floor() 向下取整
- group by 根据想要的规则对结果进行分组
- Substr() 截取字符串
substr(a,b,c)
a 所要截取字符串
b 截取的位置
c 截取的长度
- Ascii() 返回字符串的ascii码
- Left()函数
left(string,num)
得到字符串最左边指定个数的字符
- ORD()函数,此函数为返回第一个字符的ASCII码,可以和上面的函数进行组合使用。
ORD(MID(DATABASE(),1,1))>119
-->检测database()的第一位ASCII码是否大于119,也即是‘r’
这两种方法都可以把数据库的名字猜出来。