SQL注入-常用函数和语句
前言
SQL的函数很多,这里简单介绍一下在SQL注入中比较常用到的一些函数,如果你SQL学的不是很好,又想练一练SQL手工注入的话,可以优先学习这些函数和语句。
0x01 常用函数
- system_user() 系统用户名
- concat_ws()含有分隔符的链接字符串
- user() 用户名
- group_concat() 连接所有字符串并逗号分割
- database() 数据库名
- into outfile()写文件(有配置的限制)
##secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。 具体配置方法,请参考:
- version() 数据库版本
- load_file()读取文件
- @@datadir 数据库路径
- ascii() 字符串的ascii代码
- @@basedir 数据库安装路径
- ord() 返回字符串第一个的ascii码
- @@version_compile_os 操作系统
- mid() 返回字符串的一部分
- count() 返回结果的数量
- substr() 返回字符串的一部分
- concat()没有分隔符的链接字符串
- left() 返回字符串左边的几个字符
- floor()返回小于或等于X的最大整数
- rand() 返回0-1的随机数
- sleep() 让此语句运行几秒钟
- if() 三个参数,条件,两种不同的结果 if(1>2,2,3)
- char() 返回ascii码对应的字符串
- strcmp() 比较两个字符串ascii值的大小(大小写不敏感)
- ifnull() 如果参数1不为null 返回1,否则返回参数值2
- exp()返回e的X次方
0x02 常用语句
-
查库
select schema_name from imformation_schema.schemata;
-
查表
select schema_table from information_schema.tables where schema_name=security;
-
查字段
select colunm_name from information_schema.colunms where table_name=users and table_schema=security;
-
查数据
select * from security.users;
总结
SQL手注想要能熟练使用,除了理解函数的作用,重要的还是要多练。
下一篇:
用微服务架构,有哪些好处?