sql_1-2_get基于盲注(时间,和布尔)

一 . 盲注的概念和类型

1.概念
sql(盲注)是注入攻击的一种,向数据库发生true或false这样的问题,并且根据应用程序返回的信息判断结果,这种攻击的出现是因为应用程序配置为只显示代码问题。

当攻击者利用sql注入漏洞进行攻击时,有时候web应用程序会显示,后端sql查询的返回错误信息。bind sql(盲注)与常规的注入很接近,不同的是数据库返回数据检索方式,若数据库没有输出到web页面,攻击者会询问一先列的true和false问题,强制从数据库获取数据

2.类型 盲注常分为:基于布尔型的盲注和基于时间的盲注 基于时间:常使用睡眠的sql语句手段,探测出存在时间注入 基于布尔:常使用SQL语句探测数据库名的长度,推测,并且猜测出数据库名,及铭感信息

可以观察一下源代码, 如果输入变量正确则返回为页面 如果输入错误则返回为空(典型的盲注)

二. 基于时间的盲注
1.我们通过以下三张图(符号手段)发现并没报错,则我们猜想他是盲注(并且是基于时间的盲注)



2.ascii编码

先来了解一下基于时间的语句
if语句判断是否等于115,如果等于115就睡眠三秒钟(当数据库名的第一个字母的ascii编码等于115时,睡眠3秒钟)

substr(database(),1,1)的意思是,取数据库名时,首先从第一个取到第一个。 如果1,1等于1,2,就是从第一个取到第二个

简单的说就是判断数据库名第一个字母的ascii码是否等于115,如果是,就睡眠3秒钟,如果成功睡眠,则代表存在盲注

3.时间盲注实操
从以下两张图可以看到,加时间注入后响应时间不同
由于页面卡顿,所以回显不怎么好。

总之就是注入睡眠攻击以后,观察响应时间,如果响应时间有一定差距,也就可以证明存在sql盲注(时间)

三. 基于布尔的盲注
1.基于布尔的盲注推测
基于布尔的盲注和时间的盲注类似,区别在于没有使用睡眠,而是直接推测数据库的长度或名字。
如图,我们通过数据库查询表得出了:
当猜测数据库名长为8时,MySQL返回正常
当猜测数据库名长为9时,mysql返回空

同样道理,观察下面两张图,我们将语句拼接到url中,
通过回显可以明显的观察到

当database()等于8时,返回正常
databas()等于9时,返回错误,由此推断,我们的sql成功注入,也可以证明存在布尔盲注


四. 使用sqlmap利用盲注漏洞
1.使用sqlmap -h 查看帮助信息

找到 --technique=TECH
此语法是可以使用基于T时间的盲注,E错误的注入,B布尔注入
默认用了很多钟探测技术

但是如果使用默认利用会很慢很慢
所以最好是找出基于什么样是sql注入


比如,我们找出了是基于时间的

则我们在url后面添加参数 --technique=T 则 可以基于时间的盲注探测,
布尔和其他的注入也是同样道理

可以看到正在破解数据库名称

**

总结:
1.基于盲注不会直接回显,只能使用真和假靠猜测,可以构造各种各样的sql语句
2.当判断出,可以使用真假判断时,则可以确定存在盲注,则可以进行注入
3.通常注入都有waf,所以一般需要配合绕过技术,才能获得数据

**

sql_1-2_get基于盲注相关推荐

  1. mysql基于时间盲注_MYSQL基于时间的盲注详解

    MYSQL基于时间的盲注 联合查询,报错注入,以及布尔盲注,都是基于攻击网站会回显消息,或者将错误信息返回在前端,或者会返回web页面的正确或错误 但是有时候网站关闭了错误回显或过滤了某些关键字,网页 ...

  2. SQL注入——基于时间的盲注(九)

    本章目的 普及延时盲注技术的运用场景及条件,熟悉length().Substr().ascii().sleep().if()等函数的用法,掌握基于时间的盲注基本流程.PS:面试问答不深问就回答延迟 基 ...

  3. SQL注入——基于布尔的盲注(八)

    本章目的 普及布尔盲注技术的运用场景及条件,熟悉length().substr().ascii()等函数的用法,掌握基于布尔的盲注基本流程.PS:面试回答主要为对错论 基本概念 盲注 在SQL注入过程 ...

  4. python脚本自动化盲注_三、基于报错型注入和sql盲注的自动化实现

    通过前面payload的构造,不难发现,对于报错型注入和布尔注入(sql盲注)纯手工注入的效率是非常慢的.这些payload语句虽然复杂,但大部分内容都是相同的,因此,一言不合就写了个脚本自动化注入, ...

  5. mysql延迟注入br,实验3—SQL注入漏洞的攻击与防御(基于时间延迟的盲注)

    1.实验名称 SQL报错注入 2.实验环境 1.攻击机系统环境:Windows 7/8/10 2.浏览器:Firefox 53.0.2(64位) 3.浏览器插件HackBar 1.6.3.1 3.实验 ...

  6. 【Less-9】基于SQLI的SQL时间盲注

    实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! [实验目的] [实验环境] [实验原理] [实验步骤] 第一步 登录SQLI-Labs平台 第二步 登录Kali平台 ...

  7. Access数据库基于时间盲注的实现[www.freebuf.com]

    Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft ...

  8. 注入学习(3) Mysql+php注入 基于bool和时间的盲注

    练习三:Mysql+php 基于bool和时间的盲注 今天要用的函数(详细的直接看链接): left()函数:left()得到字符串左部指定个数的字符 left( string, n ) #strin ...

  9. SQL注入:sqli-labs lesson-8 lesson -9 基于布尔值和基于时间的盲注!

    在上一次讲解了lesson -1的sql基本注入,我们在注入的时候,它会返回错误信息 但是盲注不会:什么是盲注:我理解的盲注是,web页面并不会返回错误信息,需要自己添加一些命令来让浏览器进行一些显而 ...

最新文章

  1. tensorflow,神经网络创建源码
  2. C语言 —— 贪吃蛇
  3. 容器编排技术 -- 创建Kubernetes集群
  4. 【elasticsearch】es一直重启,报错日志是分片无法分配
  5. 对象流--对象的序列化
  6. idea插件sonar字体背景颜色修改
  7. linux下文件管理方式iscsi-ipsan
  8. STC学习:电子音乐
  9. python打包的exe反编译_将python打包的.exe文件还原成.py,针对Pyinstaller的exe反编译-exe文件...
  10. 安装kali的过程以及菜咩学到的基础知识
  11. wps是用python语言开发的吗_wps是用什么语言开发的
  12. 如何让app不走系统代理?
  13. docker与宿主机通信
  14. 上海十大最美婚纱摄影外景地推荐
  15. 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
  16. 9.11云和恩墨笔试
  17. n*m的格子中正方形个数和长方形个数
  18. ORA-00911: 无效字符 细节一定要注意
  19. CIO必读:平常心走IT路 吴正宏经历的信息化三十年
  20. 基于 DocumentFormat.OpenXml 操作 Excel (1)-- 初识

热门文章

  1. 参数NLS_LENGTH_SEMANTICS的设置问题
  2. 前端三部曲之Html -- 1(html的基本结构和常见的meta标签的作用)
  3. fhq_treap || BZOJ 3223: Tyvj 1729 文艺平衡树 || Luogu P3391 【模板】文艺平衡树(Splay)...
  4. linux安装mysql的分支mariadb
  5. django项目日志
  6. MySQL全文索引应用简明教程
  7. php中empty(), is_null(), isset()函数区别
  8. html里table的遍历,js遍历table中的tr
  9. 服务器php 启动命令_禁止php运行服务器命令行函数的安全配置
  10. Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几