mysql false 注入学习

2018-03-23  本文已影响0人  R1ka

1.mysql 隐式转换


如果两个参数比较,有至少一个NULL,结果就是NULL,除了是用NULL<=>NULL 会返回1。不做类型转换

两个参数都是字符串,按照字符串比较。不做类型转换

两个参数都是整数,按照整数比较。不做类型转换

如果不与数字进行比较,则将十六进制值视为二进制字符串。

有一个参数是 TIMESTAMP 或 DATETIME,并且另外一个参数是常量,常量会被转换为时间戳

有一个参数是 decimal 类型,如果另外一个参数是 decimal 或者整数,会将整数转换为 decimal 后进行比较,如果另外一个参数是浮点数,则会把 decimal 转换为浮点数进行比较

所有其他情况下,两个参数都会被转换为浮点数再进行比较

最后那一句话很重要,说明如果我是字符串和数字比较,需要将字符串转为浮点数,这很明显会转换失败

image.png
image.png

1a会被转化为1
a会被转化为 0

2.利用方法

当我们遇到引号闭合的变量时
我们可以利用false进行盲注

算数运算

username= 'admin'+(payload)

image.png

username ='admin'-(payload)

image.png

username ='1abc'* (payload)

image.png

username ='1abc'/ (payload)

image.png

username='1abc'%(payload)

image.png
逻辑运算

username='admin'<>(payload)

image.png

username='admin'=(payload)

image.png
位运算

username='1abc'&(payload)

image.png

........

其他还有很多,就不一一举例了

上一篇下一篇

猜你喜欢

热点阅读