0x00 内置函数库
system_user() #系统用户名
user() #用户名
current_user() #当前用户名
session_user() #链接数据库的用户名
database() #数据库名(当前)
version() = @@version #数据库版本
@@datadir #数据库路径
@@basedir #数据库安装路径
@@version_compile_os #操作系统
count() #返回执行结果数量
(e.g.) select count(*) from users;#统计users中的行数(条目数)
concat() #没有分隔符地连接字符串
(e.g.) select concat(username,password) from users;
concat_ws() #含有分隔符地连接字符串
(e.g.) select concat_ws(':',username,password) from users;
#其中':'可以换成16进制,例如0x7e是'~'
group_concat() #连接一个组的所有字符串,并以逗号分隔每条数据,用于想在同一行输出所有数据中
(e.g.) select group_concat(username) from users;
load_file() #读本地文件
(e.g.) select load_file('/tmp/mysql.txt');
innto outfile #写文件
(e.g.) select 'mysql' into outfile '/tmp/mysql.txt';
ascii() #字符串的ASCII码值
ord() #返回字符串第一个字符的ASCII码值
mid('str',start,length) #返回字符串的一部分
=substr('str',start,length)
left('str',length) #返回字符串左边几个字符
length() #返回字符串的长度
floor(x) #返回小于或等于x的最大整数
rand() #返回0,1之间的一随机数
extractvalue(XML document(string),XPath String)
#从目标XML中返回包含所查询值的字符串
updataxml(XML document(string),XPath String,new value(string))
#用new value替换文档中查找到的符合条件的值
#报错注入,XPath报错
(e.g.) updataxml(1,concat(0x7e,select @@version,0x7e),1)
#会爆出@@version
sleep(N) #让语句运行N秒
if(expr,true value,false valus) #
char() #返回整数ASCII代码字符组成的字符串
strcmp('str1','str2') #比较字符串ASCII
#str1 < str2 return -1
#str1 = str2 return 0
#str1 > str2 return 1
ifnull(para1,para2) #若para1不为null,返回para1,若para1为null,返回para2
exp(x) #返回e的x次方
0x01 运算符
016ED1E6-3699-4AFD-B529-33223CBCDB76.png
like #模式匹配
(e.g.) select id,username from users where username like '%ad%';
#%代表任意字符串
regexp #正则表达式
(e.g.) select user() regexp '^ro';
#匹配以ro开头的用户名