SQL注入中常用查询信息的函数

统一用法:select XXXX()。
user() 当前连接数据库的用户
database() 当前使用的数据库名
version() 数据库版本信息
@@datadir
@@version_compile_os 操作系统版本信息

常用连接字符串函数

这几个函数直接的区别有哪些?
concat(str1,str2….) 返回串联参数的结果的字符串 select concat(‘晚安’,’-‘,’Good’,’-‘,’Night’);

concat_ws(str1,str2…) 第一个参数是分隔符 select concat_ws(‘@’,’Good’,’Night’);

group_concat(str1,str2) 将多行的查询结果以逗号为分隔符连接成为一行
select group_concat(uid,username,password) from security.users;

常用关键字

substr() 截取第几个到第几个字母 select substr(password,2,4) from users;

ascii() ascii编码 select ascii(‘hi’);

limit() 一参数从第几行开始查询,二参数查询几行 select * from user limit 0,1;

updatexml() 报错语句,将查询结果通过报错显示出来
select updatexml(1,concat(0x7e,version(),0x7e),1);

left() 从左边开始读,输出字符串的几个字符 select left(‘2022’,2);
right() 与left相反 select right(‘2022’,2);
hex() 获取字符串对应的十六进制(即hex)值 select hex(‘users’);
sleep() 操作延迟n秒之后再进行处理,可判断语句是否执行 select sleep(5);
length() 获取字符串的长度,用在盲注猜解长度 select length(‘test’);