Java教程

sql注入条件判断bypass系列

本文主要是介绍sql注入条件判断bypass系列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

   最近疫情搞的有些emo了,一直在被隔离,写点东西记录下吧

 最近一直没学习,一直在挖漏洞,说点mysql sql注入挖掘tips吧

 先来常见的

 (1)if:

SELECT if(1=1,1,0)

  

 

 

 (2)case when:

  

SELECT case when 1=1 then 1 else 0 end

  

 

 

这是常见的,一般条件判断用这两个是最多的,如果waf/程序处理了这些条件判断,我们还可以注入吗?

  答:可以的

  来点非常规的:

  (3):PERIOD_DIFF ,时间函数 需要配合xor/or/and   

 

 

  为真,返回0,不为真返回其他数字

  

 

 跑注入的用法如下:

  

and 1=PERIOD_DIFF(ascii(1),*)
and 1=PERIOD_DIFF(ascii(1),*)

 

 

(4)TIMEDIFF 和PERIOD_DIFF函数类似

select TIMEDIFF(ascii(1),49)

 

 

 

 

 


(5):NULLIF 个人比较喜欢用这个

  如果两个数,比较结果为真,那么返回null,否则返回第一个表达式 

select nullif(ascii(1),49)

 

 

 

(6) IFNULL 和NULLIF函数类似:

  解释:假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

  

select nullif(ascii(2),42)

 

 

 

 

(7)elt函数

 解释参考:

 

 

select elt('r'='r',1);

 

refer:phpoop,f0ng

这篇关于sql注入条件判断bypass系列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!