sqli-labs靶场通关笔记:第46-53关 order by注入

目录

[第46关 order by注入](#第46关 order by注入)

[第47关 '闭合的order by注入](#第47关 '闭合的order by注入)

[第48关 无报错回显的数字型order by注入](#第48关 无报错回显的数字型order by注入)

[第49关 无报错回显的'闭合型order by注入](#第49关 无报错回显的'闭合型order by注入)

[第50关 基于order by的堆叠注入](#第50关 基于order by的堆叠注入)

[第51关 '闭合的报错注入或堆叠注入](#第51关 '闭合的报错注入或堆叠注入)

[第52关 数字型盲注或堆叠注入](#第52关 数字型盲注或堆叠注入)

[第53关 '闭合的盲注或堆叠注入](#第53关 '闭合的盲注或堆叠注入)


第46关 order by注入

输入?sort=1和?sort=2看一下页面显示。发现返回的数据相同,但是顺序不同,猜测可能是利用了order by排序语句。当sort=1时是根据第一列的字段id来排序,sort=2时根据username字段排序。

在参数后面加上单引号,回显了报错信息,那么使用报错注入试试吧。

第47关 '闭合的order by注入

和上关的区别是使用了单引号包裹,要注意的是,这会导致 SQL 语句将$id当作一个字符串常量来处理,而不是列名或排序索引。由于字符串常量没有实际的排序意义,MySQL 会忽略这个排序条件,通常会按照表中数据的默认顺序返回结果,也就是插入数据时的顺序或者存储引擎决定的物理顺序。所以,无论你输入什么值,返回的结果顺序都不会改变。

第48关 无报错回显的数字型order by注入

利用布尔盲注,构造表达式来影响排序结果。

复制代码
#如果数据库名长度>5,则按第一列排序,否则按第二列排序;
order by if(length(database())>5,1,2)

这里数据库名长度是8,大于5会按第一列排序,写大于10也会按照第一列排序。因为MySQL 优化了常量表达式:当 IF 的两个分支都是常量时,MySQL 可能认为无论条件如何,排序规则都不变,因此忽略条件判断。所以应该避免使用常量作为排序键,改用与数据相关的表达式。

正确的语法构造是:

复制代码
#如果条件为真,按 id 列排序,否则按 username 列排序;
order by if(length(database())>5,id,username)

第49关 无报错回显的'闭合型order by注入

这关可以利用时间盲注,但是注意点较多。

复制代码
?sort=1' and if(length(database())<10,sleep(0),sleep(5)) --+

1.将IF判断设置为,true马上响应,false延迟响应。因为order by是对结果集进行排序,每一行都会计算一次,所以会导致多次延迟(行数次延迟),而且MySQL在排序时可能会优化,利用sleep函数时页面会一直处于长时间加载状态,最终会超过服务器允许的最大响应时间,而被强制终止,返回 500 错误。

2.order by 后面不能直接跟and,它的语法结构只接受列名、表达式或数字位置。 不过可以在排序表达式里使用包含and的逻辑条件来实现更复杂的排序规则。

3.这条注入语句破坏了原本正常的order by逻辑。原本order by期望的是列名,注入后变成了一个布尔表达式和 sleep 函数的组合,数据库无法按此进行有效的排序,所以结果可能会是乱序。

第50关 基于order by的堆叠注入

本关使用了mysqli_multi_query函数,那么直接堆叠注入。

第51关 '闭合的报错注入或堆叠注入

第52关 数字型盲注或堆叠注入

第53关 '闭合的盲注或堆叠注入

这三关就是把前面的几关结合在一起,使其有多种解题方法。

相关推荐
deepseek2317 小时前
OpenAI 首次为自家模型踩刹车:Astra「无法排除关键网络能力」,Preparedness Framework 第一次真的咬人
人工智能·网络安全·ai agent
m0_5474866619 小时前
《网络协议安全》全套PPT课件(太原理工大学)
网络协议·安全·网络安全
txg6661 天前
VULOC:基于汇编切片的漏洞定位框架,精准锁定二进制中的危险代码
汇编·人工智能·深度学习·安全·网络安全
数据知道2 天前
IDOR 不安全的直接对象引用:API 越权实战检测
java·开发语言·网络·安全·网络安全
能年玲奈喝榴莲牛奶2 天前
使用AI编写-资产和漏洞管理系统
人工智能·python·网络安全·安全服务
菩提小狗2 天前
每日安全情报报告 · 2026-08-05
网络安全·漏洞·cve·安全情报·每日安全
Yan_chen6662 天前
CTFHub Web前置技能闯关
网络安全·漏洞·ctfhub web前置技能
00后程序员张3 天前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
数据知道3 天前
SSRF 漏洞实战:内网探测、云元数据窃取一条龙
网络·安全·网络安全
Fnetlink13 天前
Fnet 云网安 260807
服务器·网络·人工智能·安全·网络安全