注入常用函数

数据库相关

  • database() --- 返回当前数据库名
  • @@datadir --- 读取数据库路径
  • @@basedir --- 读取数据库安全路径
  • @@version_compile_os --- 返回当前操作系统

UDF相关

  • version() || @@version --- 返回MySQL服务器的版本
  • show variables like "%plugin%"; --- 查看mysql插件路径
  • show variables like '%version_%'; --- 查看系统版本、位数

用户相关

  • User() || System_user() --- 用户名
  • Current_Uere() --- 当前登陆用户名
  • Session_User() --- 连接数据库的用户名
  • Connection_id() --- 返回当前客户的连接ID

hash

  • md5()
  • password() --- 登录密码用这个函数加密后存入表中

other

  • Found_Rows() --- 返回最后一个SELECT查询进行检索的总行数
  • Benchmark(count,expr) --- 将表达式expr重复运行count次
  • sleep()

File读写类函数

MySQL读写系统文件需要一些特定的设置,具体内容在:https://www.cnblogs.com/mysticbinary/articles/11346191.html

  • into dumpfile()
  • into outfile()
  • load_file()
  • system cat /test.php
  • system vim /test.php

字符串类函数

注入常用

  • length() 返回字符串的字节数
  • char_length() 返回的才是字符数
  • locate(sub_str,string)
  • position(sub_str in string)
  • instr(str,sub_str)

Base64加解密(绕过WAF)

  • to_base64()

绕过waf example:

select to_base64(load_file('/usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_64.dll'))
into dumpfile '/tmp/udf.b64';
  • from_base64()

绕过waf example:

select from_base64("TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA8AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAAAzwu3gd6ODs3ejg7N3o4OzafEQs3Wjg7Np8QCzfaODs2nxB7N1o4OzUGX4
s3Sjg7N3o4KzW6ODs2nxCrN2o4OzafEWs3Wjg7Np8RGzdqODs2nxErN2o4OzUmljaHejg7MAAAAA
AAAAAAAAAAAAAAAAUEUAAGSGBgBwsYNLAAAAAAAAAADwACIgCwIJAAASAAAAFgAAAAAAADQaAAAA
EAAAAAAAgAEAAAAAEAAAAAIAAAUAAgAAAAAABQACAAAAAAAAgAAAAAQAADPOAAACAEABAAAQAAAA
AAAAEAAAAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAEAAAAAA5AAAFAgAAQDQAADwAAAAAYAAAsAIA
AABQAABoAQAAAAAAAAAAAAAAcAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAwAABwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAAAR
EAAAABAAAAASAAAABAAAAAAAAAAAAAAAAAAAIAAAYC5yZGF0YQAABQsAAAAwAAAADAAAABYAAAAA")
into dumpfile "D:\\MySQL\\mysql-5.7.21-winx64\\mysql-5.7.21-winx64\\lib\\plugin\\udf.dll";

判断字符串所在位置

  • find_in_set(sub_string,str_set)
  • field(s,str1,str2,...,strN)
  • elt(n,str1,str2,...,strN)

合并

  • concat()
  • concat_ws()

长度

  • lower(string)
  • upper(string)
  • left(string,x)
  • right(string,x)

填充

  • lpad()
  • rpad()

消除空格

  • ltrim(string) --- 删除行首空格
  • rtrim(string) --- 删除行尾空格
  • trim(string) --- 删除行首和行尾空格
  • trim(substring from string) --- 删除行首和行尾的字符串substring

其他

  • repeat(string,x)
  • replace(string,a,b)
  • insert(string,p1,len,instead_string)
  • substring(string,x,y)
  • strcmp()
  • reverse()

数学类函数

to-do

日期时间类函数

返回当前日期

  • curdate()

  • current_date()

  • curtime()

  • current_time()

  • now()

  • current_timestamp()

  • localtime()

  • localtimestamp

  • localtimestamp()

  • sysdate()

流程控制\条件判断类函数

  • if()

  • ifnull() --- 如果value1不为空则返回value1,否则返回value2。总之就是给定一个非null值。允许value2为null。

  • nullif() --- 如果expr1等于expr2,则返回null,否则返回expr1。也就是说,两者不相等时取前者,否则取NULL。如果expr1和expr2任意一个为null,则直接返回null。

  • case语句

    reference:https://www.cnblogs.com/zybcn/p/8931297.html

select t.name,t.sex, case when t.sex = '0' then 'man'
when t.sex='1' then 'women' else 'other' end from test_tb as t;

类型转换类函数

  • cast()
  • convert()

参考

https://www.cnblogs.com/f-ck-need-u/p/7740235.html

MySQL注入时常用函数的更多相关文章

  1. mysql存储过程及常用函数

    原文:mysql存储过程及常用函数 一.函数 1.数学函数 CEIL()进一取整 SELECT CEIL(1.2);2 FLOOR()舍一取整 SELECT FLOOR(1.9);9 MOD取余数(取 ...

  2. Mysql中的常用函数:

    Mysql中的常用函数: 1.字符串函数: (1).合并字符串 concat():// concat('M','y',"SQL",'5.5');== MySQL5.5//当传入的参 ...

  3. MySQL学习总结(四)数据的基本操作以及MySQL运算符和常用函数

    数据库是存储数据库对象的仓库,数据库的基本对象是表,表用来存储数据.关于数据的操作也就是我们常说的CRUD,C指的是CREATE(插入数据记录).R指的是READ(查询数据记录).U指的是UPDATE ...

  4. MySQL基础之常用函数

    数学函数的使用 常用数学函数 函数 作用 函数 作用 ceil() 进一取整 abs() 取绝对值 floor() 舍掉小数部分 power() 幂运算 round() 四舍五入 pi() 圆周率 t ...

  5. Mysql命令、常用函数

    一.sql命令行 查看数据库 show database : 选择使用的数据库 use 数据库名  : 查看表 show tables ; 查询表 select * from 表名     高版本my ...

  6. MySQL进阶之常用函数

    我的小站 有时候,除了简单的数据查询,我们还有一些高级的函数. MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我们就不再整理了,读者可以到M ...

  7. SQL注入的常用函数和语句

    1.系统函数 version()   Mysql版本user()   数据库用户名database()    数据库名@@datadir   数据库路径@@version_compile_os   操 ...

  8. mysql与oracle常用函数及数据类型对比

    最近在转一个原来使用oracle,打算改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦) ...

  9. mysql与oracle常用函数及数据类型对比00持续补充

    最近在转一个原来使用oracle,改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦). ...

随机推荐

  1. 2019牛客暑期多校训练营(第一场)H XOR(线性基)

    题意:给你n个数字,然后让你求所有满足异或和为0的子集的大小之和. 先对n个数求线性基,设线性基大小为r,可以分别计算线性基内数的贡献和线性基外数的贡献 1.线性基外:共n-r个数,枚举每个数x,将线 ...

  2. Codeforces Round #676 (Div. 2)【ABCD】

    比赛链接:https://codeforces.com/contest/1421 A. XORwice 题意 给出两个正整数 \(a.b\),计算 \((a \oplus x) + (b \oplus ...

  3. Codeforces 102394I Interesting Permutation 思维

    题意: 你有一个长度为n的序列a(这个序列只能使用[1,n]区间内的数字,每个数字只能使用一次),通过a序列可以构造出来三个相同长度的序列f.g.h For each 1≤i≤n, fi=max{a1 ...

  4. hdu 3549Flow Problem

    Problem Description Network flow is a well-known difficult problem for ACMers. Given a graph, your t ...

  5. hdu5391 Zball in Tina Town

    Problem Description Tina Town is a friendly place. People there care about each other. Tina has a ba ...

  6. Codeforces Round #667 (Div. 3) E. Two Platforms (双指针)

    题意:有\(n\)个点往下落,你可以在最下面放两个长度为\(k\)的板子,问做多能接到多少个点. 题解:这题给纵坐标\(y\)完全没有用,我们先对横坐标\(x\)排序,然后从左边开始枚举,用\(l[i ...

  7. 二叉排序树的构造 && 二叉树的先序、中序、后序遍历 && 树的括号表示规则

    二叉排序树的中序遍历就是按照关键字的从小到大顺序输出(先序和后序可没有这个顺序) 一.以序列 6 8 5 7 9 3构建二叉排序树: 二叉排序树就是中序遍历之后是有序的: 构造二叉排序树步骤如下: 插 ...

  8. Kubernets二进制安装(11)之部署Node节点服务的kubelet

    集群规划 主机名 角色 IP地址 mfyxw30.mfyxw.com kubelet 192.168.80.30 mfyxw40.mfyxw.com kubelet 192.168.80.40 注意: ...

  9. 【非原创】codeforces 1025D - Recovering BST【区间dp+二叉搜索树】

    题目:戳这里 题意:给一个不下降序列,有n个数.问能否构造一个二叉搜索树,满足父亲和儿子之间的gcd>1. 解题思路:其实这题就是构造个二叉搜索树,只不过多了个条件.主要得了解二叉搜索树的性质, ...

  10. 计算机网络 part2

    一.UDP协议 1.概述 UDP提供不可靠的服务,无连接(不存在建立连接的时延),首部开销相对TCP小,没有拥塞控制,提供最大努力交付,面向报文(无论多长的报文UDP也只加一个头部就往下发:TCP面向 ...