SQLI-Labs(3)8-14关【布尔盲注和时间盲注】

目录

第八关

第九关:

第十关

第十一关 

第十二关 

第十三关 

第十四关



第八关

我们用测试语句来测试是否为注入点

从上图中得知存在注入点,那么接下来就是爆列

一共有三列,接下来用union select 和报错注入都试一下发现没有回显点,那么可以测试这里存在盲注。

主要分为boolean和时间盲注

接下来引入三个函数

length() //长度

left()//取从左往右数几个字符

ascii()//ASCII码值

substr()//截取字符串

sleep()//计算时间【将程序挂起一段时间】

if()【配合时间盲注】

利用length来猜数据库名的长度【在这里可以结合burpsuite】

因为这个结果只会返回是或不是

所以从上面图中可以知道数据库名长度为8,接下来就是利用ASCII码来猜数据库名,这将会是一个漫长的过程。

 

利用payload:and (ascii(substr(database(),1,1)))=115--+

ASCII码值为115则说明第一位是s

接下来猜后面的

证明第二位是e就这么一步一步的猜吧,根据我们前面知道的这个数据库名是security

利用这个名字再继续一个一个猜表,列,数

利用payload:' and (ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1【位数】,1【个数】)))=101--+

得知数据库中第一个表的第一个字母为e,接下来就这么一个一个猜,列名,数据名同上。

第九关:

这一关我们用之前的方法进行测试,发现无论是哪种闭合都是返回正确的,那么这里可能就跟时间盲注有关系。【时间盲注跟布尔盲注结合】

那么在这里就需要用到if 和 sleep这两个函数来判断了。

利用payload:

' and if(length(database())=8,sleep(5),1)--+ 查看他的响应时间是否有变化。

 后面的就跟之前的payload差不多。

第十关

第十关跟第九关没啥区别,就是闭合双引号的问题。

那么时间盲注最大的问题就是我们没办法一开始就猜到闭合的规则,有可能试了半天他最后没有时间盲注,所以这里就考验的是心态。

第十一关 

第十一关一开始就很陌生了,没错这是一个post表单传参的问题。

那么这个就是万能密码的问题

利用payload:' or 1=1 order by 3--qwe

猜测出有两列

剩下的就跟之前是一样的了,在这里也不多说了,不知道的可以看之前的东西。

第十二关 

好吧,这个跟之前一样又是一个闭合的问题。

第十三关 

第十三关其实是post类型的报错注入

 

这个没有回显点那么就利用报错函数updatexml 

利用payload:')and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)#

爆出数据库名,那么接下来的步骤,大家也都清楚了吧。

第十四关

 

 

第十四关又是闭合的问题了。报错无回显,利用updatexml来测试跟上面一样。

payload:"and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)#

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值