mysql. 小括号绕过

mysql. 小括号绕过,第1张

注入错误原因。

SQL注入时,空格的使用是非常普遍的。比如,我们使用union来取得目标数据。

空格被过滤,但括号没有被过滤,可通过括号绕过,我的经验是,在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。

mysql 是先执行and后执行or的,如果你没加括号,系统会先判断1 = 1 AND PAYMENT_METHOD_CD = '0'符不符合,或者PAYMENT_METHOD_CD = '1'或者 PAYMENT_METHOD_CD = '2 ' 符不符合,只要这三个满足一个就可以达成,后面两个是没有1=1恒成立这个条件的

优先顺序: 小括号、NOT、AND、OR。

错误的写法:这个时候你会怀疑到底是不是where条件有问题,其实是因为先执行了and,最后再来执行的or,所以就查出来了。

正确的写法:因为括号的优先级最高,所以先执行了再来and就没问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5903625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存