sqli-labs less27

管理员 2020-01-02 PM 162℃ 0条

1.先看下主界面,哦豁,他说把union 跟select给过滤了

2.输入 ?id=1 ,登录成功

3.输入 ?id=1' ,根据报错信息得知可以使用单引号闭合

4.查看了下过滤规则

仔细看看其实还好,没有过滤or与and,过滤了几个大小写的union和select但是可以用随机大小写绕过,过滤了--、#以及/**/,过滤了两次空格,过滤了/但没过滤\。所以实际上只过滤了注释与空格,与 Less 26 相似

5.因为过滤了空格,所以不能使用union联合查询了。(linux下可以使用%a0代替空格,但我这靶机服务器是windows的,用不了这个方法),所以这里我依旧使用报错注入,其实报错注入挺好的,就是报错的字符长度有限制,没法一次性获取完全部查询信息,但是可以分次获取,下面会讲到。

查库名,可以看到我已经使用大小写组合成功的绕过了select过滤

查表名

查字段名,这里 or 跟 and都没有被过滤,可以使用

获取用户信息,因为limit用不了,所以只能用where来控制偏移量

6.另外我分享一个关于报错注入的思路

一般的报错注入使用 goup_concat组合输出查询结果时,会有长度限制,这是因为mysql报错本身限制的。

比如我查询了所有的库名,看的出来显示不完全。

那我们想看完全部的查询返回信息要怎么做呢?这不得不提到了之前我们使用盲注的时候经常用到的一个函数,mid(),使用它定位整个返回的信息。

看到没有,显示的内容位置发生了偏移,原本看不到的内容现在也看到了,使用这个方法,可以就不用担心返回信息被截断了。

标签: 报错注入

非特殊说明,本博所有文章均为博主原创。

上一篇 sqli-labs less27a
下一篇 sqli-labs less26a

评论啦~