巅峰极客2023 hellosql

简介: 巅峰极客2023 hellosql

随便输一个payload,有waf

这题只有两个回显,分别是太酷啦和nonono,不显示报错、登录成功等各种信息,目前只能想到用时间盲注。

抓包fuzz,194都是被过滤的

不止这些,手工测出来if、sleep、benchmark、*、rpad、count也被过滤了。

测试注释符:

?id=if                              显示nonono,说明滤了
?id=1'''''''''''''''#if             显示太酷啦,说明不滤,所以注释符是#

说明注释符#可以用。

查看各种信息,发现是php。

考虑到可能是长连接,可以使用get_lock作为延时手段,并且这个没有被过滤。

经过验证,无法使用get_lock作为延时手段。

认定了是时间盲注,那就换一种延时方式。

过滤了*,无法使用现成的笛卡尔积payload,那就手搓。

过滤if那就用case when condition then 1 else 0 end语句代替

得到flag。

还有一种绕过if过滤的办法

1' and 判断字符语句 and 笛卡尔积延时#"

这个的原理是and短路。因为and需要两边都为true,才能为true。比如说 条件1 and 条件2,如果条件1为true才会去判断条件2,但是如果条件1为false,就不会再去判断条件2了,and直接返回false。

网上找的另外一个大佬(Boogipop)的盲注语句:

时间盲注,用笛卡尔积

/index.php?id=1'or+elt(1>2,(SELECT+group_concat('1')+FROM+information_schema.columns+A,+information_schema.columns+B))+or'2

/index.php?id=1'or+elt(3>2,(SELECT+group_concat('1')+FROM+information_schema.columns+A,+information_schema.columns+B))+or'2


这个elt函数非常的陌生,网上的解释:

ELT()函数是分值函数,功能有点类似很多编程语言中的switch关键字。


语法:

ELT(N,str1,str2,str3,…)

其中N是要判断的数值,如果N=1,则返回str1,如果N=2,则返回str2,以此类推。

另外对不上的值返回Null,比如N=0,或者N大于后面列表的长度。

(1条消息) Mysql的分段函数INTERVAL()和分值函数ELT()_sql分值函数_lkforce的博客-CSDN博客

由此看来,elt确实能够代替if,师傅牛逼!

目录
相关文章
|
消息中间件 前端开发 NoSQL
末流院校24届秋招逆袭之路!
末流院校24届秋招逆袭之路!
58 0
末流院校24届秋招逆袭之路!
那些陪伴了我大学青春的网易博客也要停运啦
那些陪伴了我大学青春的网易博客也要停运啦
|
数据采集 人工智能 算法
|
机器学习/深度学习 人工智能 算法
|
机器学习/深度学习 人工智能 算法
DayDayUp:1024节日快乐!程序猿界的颁奖典礼《年度十大程序员极客》正式公布!
DayDayUp:1024节日快乐!程序猿界的颁奖典礼《年度十大程序员极客》正式公布!
DayDayUp:1024节日快乐!程序猿界的颁奖典礼《年度十大程序员极客》正式公布!
|
程序员 开发者 黑灰产治理
十年老友记 | @杨成功:没有什么能比写代码更让我快乐
十年老友记 | @杨成功:没有什么能比写代码更让我快乐
178 0
|
安全 机器人 Linux
7年,从“游戏少年”到大厂技术总监的逆袭之路
一直没有正式的介绍过自己,一方面粉丝太少,另一方面确实没有时间写。算一算在杭州已经有11个年头了。算是一个彻头彻尾的杭漂,现在已经在杭州安家立业。希望大家看过我的经历...
190 0
|
Cloud Native 安全 Linux
6位大咖坐在一起聊了聊:龙蜥社区做了什么、以及能带来什么?
云栖大会龙蜥专场精彩来袭,通过本次讨论会,让大家更深入了解龙蜥开源社区。
6位大咖坐在一起聊了聊:龙蜥社区做了什么、以及能带来什么?
崮德好文连载 - 个人如何成长?
毕业后刚开始工作的工程师,对技术一定是充满热情的,也是非常专注的投入工作。但是工作3,4年然后跳槽一两家公司后,渐渐的就迷失了,感觉技术有了一定提升,比刚毕业的大学生,确实有点优越感,但是比下有余,比上不足,感觉差距很大,关键是单纯提高技术能力,似乎永远赶不上优秀的前辈,这样的困惑完全可以理解。我想聊聊这个阶段的工程师,该如何成长。