sql_1-2_get基于盲注
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基于盲注相关推荐
- mysql基于时间盲注_MYSQL基于时间的盲注详解
MYSQL基于时间的盲注 联合查询,报错注入,以及布尔盲注,都是基于攻击网站会回显消息,或者将错误信息返回在前端,或者会返回web页面的正确或错误 但是有时候网站关闭了错误回显或过滤了某些关键字,网页 ...
- SQL注入——基于时间的盲注(九)
本章目的 普及延时盲注技术的运用场景及条件,熟悉length().Substr().ascii().sleep().if()等函数的用法,掌握基于时间的盲注基本流程.PS:面试问答不深问就回答延迟 基 ...
- SQL注入——基于布尔的盲注(八)
本章目的 普及布尔盲注技术的运用场景及条件,熟悉length().substr().ascii()等函数的用法,掌握基于布尔的盲注基本流程.PS:面试回答主要为对错论 基本概念 盲注 在SQL注入过程 ...
- python脚本自动化盲注_三、基于报错型注入和sql盲注的自动化实现
通过前面payload的构造,不难发现,对于报错型注入和布尔注入(sql盲注)纯手工注入的效率是非常慢的.这些payload语句虽然复杂,但大部分内容都是相同的,因此,一言不合就写了个脚本自动化注入, ...
- 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.实验 ...
- 【Less-9】基于SQLI的SQL时间盲注
实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! [实验目的] [实验环境] [实验原理] [实验步骤] 第一步 登录SQLI-Labs平台 第二步 登录Kali平台 ...
- Access数据库基于时间盲注的实现[www.freebuf.com]
Microsoft Office Access是由微软发布的关系数据库管理系统.它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft ...
- 注入学习(3) Mysql+php注入 基于bool和时间的盲注
练习三:Mysql+php 基于bool和时间的盲注 今天要用的函数(详细的直接看链接): left()函数:left()得到字符串左部指定个数的字符 left( string, n ) #strin ...
- SQL注入:sqli-labs lesson-8 lesson -9 基于布尔值和基于时间的盲注!
在上一次讲解了lesson -1的sql基本注入,我们在注入的时候,它会返回错误信息 但是盲注不会:什么是盲注:我理解的盲注是,web页面并不会返回错误信息,需要自己添加一些命令来让浏览器进行一些显而 ...
最新文章
- tensorflow,神经网络创建源码
- C语言 —— 贪吃蛇
- 容器编排技术 -- 创建Kubernetes集群
- 【elasticsearch】es一直重启,报错日志是分片无法分配
- 对象流--对象的序列化
- idea插件sonar字体背景颜色修改
- linux下文件管理方式iscsi-ipsan
- STC学习:电子音乐
- python打包的exe反编译_将python打包的.exe文件还原成.py,针对Pyinstaller的exe反编译-exe文件...
- 安装kali的过程以及菜咩学到的基础知识
- wps是用python语言开发的吗_wps是用什么语言开发的
- 如何让app不走系统代理?
- docker与宿主机通信
- 上海十大最美婚纱摄影外景地推荐
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- 9.11云和恩墨笔试
- n*m的格子中正方形个数和长方形个数
- ORA-00911: 无效字符 细节一定要注意
- CIO必读:平常心走IT路 吴正宏经历的信息化三十年
- 基于 DocumentFormat.OpenXml 操作 Excel (1)-- 初识
热门文章
- 参数NLS_LENGTH_SEMANTICS的设置问题
- 前端三部曲之Html -- 1(html的基本结构和常见的meta标签的作用)
- fhq_treap || BZOJ 3223: Tyvj 1729 文艺平衡树 || Luogu P3391 【模板】文艺平衡树(Splay)...
- linux安装mysql的分支mariadb
- django项目日志
- MySQL全文索引应用简明教程
- php中empty(), is_null(), isset()函数区别
- html里table的遍历,js遍历table中的tr
- 服务器php 启动命令_禁止php运行服务器命令行函数的安全配置
- Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几