ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql注入条件判断bypass系列

2022-04-11 00:02:08  阅读:477  来源: 互联网

标签:系列 返回值 IFNULL PERIOD bypass sql DIFF ascii select


   最近疫情搞的有些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

标签:系列,返回值,IFNULL,PERIOD,bypass,sql,DIFF,ascii,select
来源: https://www.cnblogs.com/piaomiaohongchen/p/16128213.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有