文章总结: 本文解析Sqli-Labs第44/45关堆叠注入技术,核心在于盲注环境下利用分号分隔语句修改数据库。通过布尔测试确认闭合方式后,构造UPDATEPayload更改admin密码,演示了无回显时通过数据库状态变化验证漏洞的方法。实战中需注意括号闭合差异及数据写入风险。 综合评分: 90 文章分类: 渗透测试,WEB安全,漏洞分析
SQL注入实战——堆叠注入,sqli-labs第44/45关
原创
武文 武文
武文学网安
2026年1月30日 04:05 中国香港
大家好,我是武文。 第 44 / 45 关,表面上它像是“又一关盲注”,但真正的重点是:盲注环境下 + 允许堆叠查询 = 直接获得数据库写入能力。
为什么这么说?我们一步步来剖析。
一、第 44 / 45 关整体说明
官方标题:
- 第 44 关:POST – Error based – String – Stacked – Blind
- 第 45 关:POST – Error based – String – Stacked – Blind
两关核心一致: 都是 POST 注入 + 支持堆叠查询。 区别点只有一个:闭合方式不同(45 比 44 多一层括号闭合)。
虽然标题里带 Error based,但这两关页面几乎不给错误回显,所以最终打法仍然以 盲注判断 + 堆叠验证 为主。
二、源码白盒定位
从源码来看,注入点依旧在password。
因为后端 SQL 把 password 直接拼接进查询条件里,而且过滤/转义不足,所以 password 是最稳定的注入入口。
三、闭合测试:确认注入符号及插入结构
3.1 第 44 关:单引号闭合
针对注入点(比如 password),先测试基础闭合:
password=1’1′)

由于页面不回显 SQL 报错,所以不能用“是否报错”判断闭合;这里用布尔条件导致的页面差异来确认注入是否成立。
进一步验证布尔逻辑:
password=1′ or 1=1 #

前后页面表现差异,即可确认
单引号闭合是有效注入结构。
尝试是否有显错注入:
1' and updatexml(1,concat(0x7e,database(),0x7e),1)#
通关实验可知,无显错注入。
3.2 第 45 关:单引号 + 括号闭合
在第 45 关,SQL 语句结构可能包含一些包裹,使得闭合不止是简单的 '。
这时我们可以构造:
1′) or 1=1 #

可以直接登录,说明实际注入点的闭合结构是:
单引号 + 括号闭合 ('))
这和很多 blind 注入关中的闭合方式是一致的。
四、利用BurpSuite进一步验证判断是否存在显错注入
我一度以为是自己直接在输入框中输入的数据有问题,所以用BP抓包修改参数的方式来进一步进行验证。
抓取POST请求发送到重放器。
已关注
关注
重播 分享 赞
关闭
观看更多
更多
退出全屏
切换到竖屏全屏退出全屏
武文学网安已关注
分享视频
,时长00:27
0/0
00:00/00:27
切换到横屏模式
继续播放
[ ]
进度条,百分之0
播放
00:00
/
00:27
00:27
倍速
全屏
倍速播放中
0.5倍 0.75倍 1.0倍 1.5倍 2.0倍
超清 流畅
继续观看
SQL注入实战——堆叠注入,sqli-labs第44/45关
观看更多
转载
,
SQL注入实战——堆叠注入,sqli-labs第44/45关
武文学网安已关注
分享点赞在看
已同步到看一看写下你的评论
视频详情
构造显错payload测试
1' and updatexml(1,concat(0x7e,database(),0x7e),1)#
很显然,依然没有显错。说明无法利用显错注入,只能进行盲注。
五、综合实例
以第44关为例,验证堆叠注入。45关仅多一个右括号,这里不再重复演示。
username=admin&password=1'; UPDATE users SET password='stacked45' WHERE username='admin';
因为页面只展示第一条查询的结果,而我们堆叠的 UPDATE 属于“第二条语句”,执行成功也不会直接体现在页面回显上,所以需要从数据库侧验证。执行并观察mysql数据库信息的变化。
尽管前端并没有任何变化,但后端的数据已经被修改。
- admin 密码变成
stacked44 - 堆叠注入成功
六、通关总结:这两关到底在考什么?
44/45 可以理解为:在 42/43 的“堆叠能力”基础上,把前端回显进一步压缩成盲注风格,让我们必须通过 数据库状态变化 来确认注入是否成功。本文仅用于靶场学习与授权测试,请勿用于未授权环境。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:武文学网安 武文 武文《SQL注入实战——堆叠注入,sqli-labs第44/45关》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论