当前位置: 首页 > news >正文

sql 注入(4), 盲注

sql 注入, 盲注

盲注适合在页面没有任何回显时使用.
测试页面有变化, 但是没有显示任何异常错误等信息.

情景:
url: http://192.168.112.200/security/read.php?id=1
服务器数据库名: learn

一, boolean盲注

# 盲注可能需要一个一个字符去试探, 字符串处理函数经常会用到. 比如:
length(n)                 字符串长度
mid(str, start, n)        从start开始截取n个字符, start从1开始
substring(str, start, n)  从start开始截取n个字符, start从1开始
left(str, n)              从左侧开始截取n个字符
right(str, n)             从右侧开始截取n个字符
ord()                     字符的ascii码
ascii()                   字符的ascii码
1. 猜测长度
# 利用比较运算判断数据库名称的长度
http://.../?id=1 and length( database() ) < 10 # 页面正常
http://.../?id=1 and length( database() ) < 5  # 页面异常
http://.../?id=1 and length( database() ) = 5  # 页面正常, 数据库名长度是5.
2. 猜测字符

利用 substring() 等函数, 判断名称中的字母, 范围包括大写或小写字母, 数字, 下划线等.
可以使用python脚本或者burpsuit来做爆破.

# 猜测数据库名第一个字母
http://.../?id=1 and substring( database(), 1, 1 ) = 'a' # 页面异常
http://.../?id=1 and substring( database(), 1, 1 ) = 'c' # 页面异常
http://.../?id=1 and substring( database(), 1, 1 ) = 'l' # 页面正常, 数据库名首字母是 l
# 猜测第二个字母
http://.../?id=1 and substring( database(), 2, 1 ) = 'e' # 页面正常, 数据库第二个字母是 e
http://.../?id=1 and substring( database(), 2, 1 ) = 'E' # 页面正常, 到底是大写还是小写 ?# 这里为了区分大小写, 使用 binary 更准确
http://.../?id=1 and binary substring( database(), 2, 1 ) = 'e' # 页面正常
http://.../?id=1 and binary substring( database(), 2, 1 ) = 'E' # 页面异常# 猜测第三个字母
...

二, 时间型盲注

boolean盲注可以通过页面的变化来判断, 如果测试时, 无论使用什么代码, 页面没有任何变化, 就需要尝试时间盲注.
在真假判断的基础上添加时间判断.

原理:

if(表达式, 语句1, 语句2) 函数的规则:
如果 [表达式] 是真, 则执行 [语句1] , 否则执行 [语句2] .

使用if函数, 对boolean盲注[表达式]做判断, 将延迟时间设置到[语句1],
如果boolean盲注[表达式]猜对了, sql会执行[语句1] 进入延迟, 否则sql会立刻执行[语句2].
所以通过注入后页面的延迟时间可以判断出boolean盲注的猜测是否成功.

案例:
# 猜测数据库的名称长度
http://.../?id=1 and if( length(database())<10, sleep(5), 1) # 页面有明显延迟, 说明猜对
http://.../?id=1 and if( length(database())<5, sleep(5), 1)  # 页面响应不到5秒, 说明猜错
http://.../?id=1 and if( length(database())=5, sleep(5), 1)  # 页面有明显延迟, 说明猜对, 那么长度是5

相关文章:

sql 注入(4), 盲注

sql 注入, 盲注 盲注适合在页面没有任何回显时使用. 测试页面有变化, 但是没有显示任何异常错误等信息. 情景: url: http://192.168.112.200/security/read.php?id1 服务器数据库名: learn一, boolean盲注 # 盲注可能需要一个一个字符去试探, 字符串处理函数经常会用到. 比…...

【string题解 C++】字符串相乘 | 翻转字符串III:翻转单词

字符串相乘 题面 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigIn…...

CentOS 7下JumpServer安装及配置(超详细版)

前言 Jumpserver是一种用于访问和管理远程设备的Web应用程序&#xff0c;通常用于对服务器进行安全访问。它基于SSH协议&#xff0c;提供了一个安全和可管理的环境来管理SSH访问。Jumpserver是基于Python开发的一款开源工具&#xff0c;其提供了强大的访问控制功能&#xff0c;…...

基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发

作者&#xff1a;车漾 前文回顾&#xff1a; 本系列将介绍如何基于 ACK Fluid 支持和优化混合云的数据访问场景&#xff0c;相关文章请参考&#xff1a; -基于 ACK Fluid 的混合云优化数据访问&#xff08;一&#xff09;&#xff1a;场景与架构 -基于 ACK Fluid 的混合云优…...

sentinel的启动与运行

首先我们github下载sentinel Releases alibaba/Sentinel (github.com) 下载好了后输入命令让它运行即可&#xff0c;使用cmd窗口输入一下命令即可 java -Dserver.port8089 -jar sentinel-dashboard-1.8.6.jar 账号密码默认都是sentinel 启动成功后登录进去效果如下...

模拟量采集无线WiFi网络接口TCP Server, UDP, MQTT

● 4-20mA信号转换成标准Modbus TCP协议 ● 支持TCP Server, UDP, MQTT等通讯协议 ● 内置网页功能&#xff0c;可以通过网页查询数据 ● 宽电源供电范围&#xff1a;8 ~ 32VDC ● 可靠性高&#xff0c;编程方便&#xff0c;易于应用 ● 标准DIN35导轨安装&#xff0c;方便…...

五、OSPF动态路由实验

拓扑图&#xff1a; 基本ip的配置已经配置好了&#xff0c;接下来对两台路由器配置ospf协议&#xff0c;两台PC进行跨网段通讯 R1与R2构成单区域OSPF区域0&#xff0c;首先对R1进行配置 首先进入ospf 默认进程1&#xff0c;router id省略空缺&#xff0c;之后进入area 0区域&…...

系统架构设计:16 论软件开发过程RUP及其应用

目录 一 统一过程RUP 1 典型特点 2 四个阶段 (1)构思阶段(初始阶段/初启阶段)...

Gralloc ION DMABUF in Camera Display

目录 Background knowledge Introduction ia pa va and memory addressing Memory Addressing Page Frame Management Memory area management DMA IOVA and IOMMU Introduce DMABUF What is DMABUF DMABUF 关键概念 DMABUF APIS –The Exporter DMABUF APIS –The…...

【LVS】lvs的四种模式的区别是什么?

LVS中的DR模式、NAT模式、TUN模式和FANT模式是四种不同的负载均衡模式&#xff0c;它们之间的主要区别在于数据包转发方式和网络地址转换。 DR模式&#xff08;Direct Routing&#xff09;&#xff1a;此模式通过改写请求报文的目标MAC地址&#xff0c;将请求发给真实服务器&a…...

Android原生实现控件点击弹起效果方案(API28及以上)

之前在实现控件阴影时有提到过&#xff0c;阴影效果的实现采用的是Android原生的View的属性&#xff0c;拔高Z轴。Z轴会让View产生阴影的效果。 Zelevation translationZ 拔高Z轴可以通过控制elevation和translationZ。 我们之前是通过elevation来单纯的控制Z轴&#xff1b;而…...

【数据结构-队列 二】【单调队列】滑动窗口最大值

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【单调队列】&#xff0c;使用【队列】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…...

如何设置CentOS系统以禁用不必要的网络端口和服务?

要禁用CentOS系统中的不必要的网络端口和服务&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 查看当前正在运行的服务和端口&#xff1a;使用以下命令可以查看正在运行的服务和对应的端口号。 sudo netstat -tuln 2. 停用不必要的服务&#xff1a;根据netstat命令的输…...

【IDEA项目个别类爆红,但是项目可以正常运行】

打开项目时发现idea个别类爆红,但是项目可以正常运行 问题原因&#xff1a;Idea本身的问题&#xff0c;可能是其缓存问题&#xff0c;导致爆红 解决方案&#xff1a;重置Idea 很多时候排查不出代码问题&#xff0c;就尝试一下此操作。 选择目录&#xff1a;File–>Invalida…...

hive 之select 中文乱码

此处的中文乱码和mysql的库表 编码 latin utf 无关。 直接上案例。 有时候我们需要自定义一列&#xff0c;有时是汉字有时是字母&#xff0c;结果遇到这种情况了。 说实话看到这真是糟心。这谁受得了。 单独select 没有任何问题。 这是怎么回事呢&#xff1f; 经过一番检查&…...

优化|优化处理可再生希尔伯特核空间的非参数回归中的协变量偏移

原文&#xff1a;Optimally tackling covariate shift in RKHS-based nonparametric regression. The Annals of Statistics, 51(2), pp.738-761, 2023.​ 原文作者&#xff1a;Cong Ma, Reese Pathak, Martin J. Wainwright​ 论文解读者&#xff1a;赵进 编者按&#xff1a; …...

Netty深入浅出Java网络编程学习笔记(一) Netty入门篇

目录 一、概述 1、什么是Netty 2、Netty的优势 二、入门案例 1、服务器端代码 2、客户端代码 3、运行流程 组件解释 三、组件 1、EventLoop 处理普通与定时任务 关闭 EventLoopGroup 处理IO任务 服务器代码 客户端代码 分工细化 划分Boss 和Work 增加自定义EventLoopGroup 切换…...

自动化产线集控系统(西门子CNC 840D/840DSL远程控制)

1.1项目背景 RQQ/VF120机组目前为1人操作3台机床&#xff0c;需在机台旁监控。为了改善人员在班中劳动强度非常大的现状&#xff0c;调整好每台机床的节奏&#xff0c;以保证机床的最少的等待时间。本项目旨在通过远程监视设备运行过程关键参数&#xff0c;操作人员人员可远程监…...

MVVM 与 MVC区别和应用场景?

MVVM 和 MVC 1. MVC2. MVVM 1. MVC MVC 是 Model View Controller 的缩写 Model&#xff1a;模型层&#xff0c;是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View&#xff1a;视图层&#xff0c;用户界面渲染逻辑&#xff0c;通常视图…...

Linux开发-Ubuntu软件源工具

开发&验证环境&#xff1a; 操作系统&#xff1a;ubuntu 20.04 软件源&#xff1a;http://archive.ubuntu.com/ubuntu 开发工具 sudo apt install vim sudo apt install git# gnu工具链 sudo apt install gcc sudo apt install g sudo apt install gdb# llvm工具链 sudo …...

OpenClaw浏览器控制:GLM-4.7-Flash实现自动化数据采集

OpenClaw浏览器控制&#xff1a;GLM-4.7-Flash实现自动化数据采集 1. 为什么选择OpenClaw进行网页数据采集 去年我在做一个市场分析项目时&#xff0c;遇到了一个棘手的问题——需要从十几个行业网站定期采集数据&#xff0c;但每个网站的页面结构都不一样。手动复制粘贴效率…...

【SoC】【ESP32】从零到一:VSCode+ESP-IDF环境下的高效开发工作流构建

1. 为什么选择VSCodeESP-IDF开发ESP32&#xff1f; 第一次接触ESP32开发时&#xff0c;我尝试过各种开发环境&#xff1a;Arduino IDE、PlatformIO、Eclipse...直到遇到VSCodeESP-IDF的组合&#xff0c;才发现这才是嵌入式开发的"完全体"。ESP-IDF作为乐鑫官方的开发…...

Polars 2.0快速接入全链路拆解(含Benchmark实测:比Pandas快42.6×,比Dask低68%内存)

第一章&#xff1a;Polars 2.0快速接入全链路概览Polars 2.0 是一个高性能、内存友好的 DataFrame 库&#xff0c;专为现代多核 CPU 和列式分析场景设计。它通过 Rust 编写核心引擎&#xff0c;Python 接口&#xff08;polars-py&#xff09;提供零拷贝数据交互能力&#xff0c…...

【巴法云】零代码安卓App开发:用App Inventor + MQTT + ESP8266打造智能硬件遥控器

1. 零代码开发智能硬件遥控器的魅力 想象一下&#xff0c;你躺在沙发上发现忘关客厅的灯&#xff0c;这时候掏出手机点一下就能远程关灯&#xff1b;或者夏天回家前提前打开空调&#xff0c;进门就能享受清凉。这些智能家居场景现在用App Inventor 巴法云 ESP8266组合就能轻松…...

极域电子教室突破技术:从系统控制到自主操作的攻防对抗

极域电子教室突破技术&#xff1a;从系统控制到自主操作的攻防对抗 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 一、核心痛点&#xff1a;极域电子教室的控制枷锁 在信息化教…...

深入理解Fritzing电路仿真:5个专业级电子设计验证技巧

深入理解Fritzing电路仿真&#xff1a;5个专业级电子设计验证技巧 【免费下载链接】fritzing-app Fritzing desktop application 项目地址: https://gitcode.com/gh_mirrors/fr/fritzing-app Fritzing是一款开源的电子设计自动化&#xff08;EDA&#xff09;软件&#x…...

BepInEx:Unity游戏插件框架的模块化解决方案

BepInEx&#xff1a;Unity游戏插件框架的模块化解决方案 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款针对Unity游戏的插件框架&#xff0c;提供模块化的插件管理与…...

如何让键盘听懂你的设备语言?设备条件判断打造智能多设备键盘映射方案

如何让键盘听懂你的设备语言&#xff1f;设备条件判断打造智能多设备键盘映射方案 【免费下载链接】Karabiner-Elements Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later. 项目地址: https://gitcode.com/gh_mirrors…...

从零开始:crAPI靶场环境搭建与实战通关指南

1. 环境准备&#xff1a;从零搭建crAPI靶场 第一次接触crAPI靶场时&#xff0c;我花了两小时才搞明白为什么docker-compose总是报错。后来发现是因为Ubuntu系统残留的旧版Docker没卸载干净。建议所有新手都从干净的Ubuntu 20.04 LTS环境开始&#xff0c;这会帮你避开80%的环境问…...

3大核心技术构建ESP32智能语音交互系统:从离线唤醒到物联网控制的完整实现方案

3大核心技术构建ESP32智能语音交互系统&#xff1a;从离线唤醒到物联网控制的完整实现方案 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 在物联网和智能硬件快速发展的今天&#xff0c;如…...