新闻详情

新闻详情

首页 / 资讯中心 / 详情

SQL 注入练习 03 | PortSwigger Web Security Academy - UNION 攻击:发现文本列

发布时间:2026/9/10 4:42:12来源:尧图网络
SQL 注入练习 03 | PortSwigger Web Security Academy - UNION 攻击:发现文本列
1.背景题目Lab:SQL injection UNION attack,finding a column containing text链接SQL injection UNION attacks | Web Security Academy目标通过UNION注入确定查询返回的列数找到能够回显字符串的列并让页面成功显示指定的随机字符串。2.原理UNION的两个硬性要求查询列数和类型兼容用NULL是因为NULL可以转换为任何数据类型NULL只保证不报错但不会在页面上产生可见内容。要找到能显示字符串的列需要把某一列换成字符串如a观察页面哪里多出了这个字符——页面上出现a的那一列就是兼容字符串的显示位。a是字符串值必须加单引号username这类是列名不能加单引号3.攻击步骤Step 1确认注入点点分类链接确认URL里有?categoryPets说明这个参数可控。Step 2确定列数法1:用UNION SELECT NULL递增探测列数在category参数里依次尝试1列GiftsUNIONSELECTNULL--报错2列GiftsUNIONSELECTNULL,NULL--报错3列GiftsUNIONSELECTNULL,NULL,NULL--页面正常4列GiftsUNIONSELECTNULL,NULL,NULL,NULL--报错验证法2:用ORDER BY探测更快GiftsORDERBY1--→正常GiftsORDERBY2--→正常GiftsORDERBY3--→正常GiftsORDERBY4--→报错→说明列数为3结论一致原查询返回3列。ORDER BY只观察是否报错反馈更直接因此比UNION NULL递增更快。Step3找到兼容字符串的列将某一列替换为字符串a逐列试探其余列用NULL占位第1列放aGiftsUNIONSELECTa,NULL,NULL--页面无a出现第2列放a​GiftsUNIONSELECTNULL,a,NULL--有a出现第3列放aGiftsUNIONSELECTNULL,NULL,a--结论第2列为字符串显示位。Step4让实验室随机值出现在页面上将a替换为实验室顶部提供的随机字符串假设为IPvqdb保持放在第2列GiftsUNIONSELECTNULL,IPvqdb,NULL--页面正常返回且出现IPvqdb→实验已解决​4.修复方案1.UNION攻击的修复方式与上一道相同使用参数化查询。无论是WHERE子句注入还是UNION注入只要把用户输入当作数据传结构就无法改变。2.对于需要动态拼接SQL的场景应该限制用户输入的格式不要让任意字符串进入SQL。5.反思通过逐列将字符串替换NULL并观察是否报错判断类型兼容和是否回显判断显示位以试错方式定位目标列。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

硬件应届生核心竞争力:工具实操、故障归因与成本意识 2026/9/10 4:41:24

硬件应届生核心竞争力:工具实操、故障归因与成本意识

1. 招聘启事里没写的“真实需求清单”“硬件工程师(应届)”——这行字在招聘网站上出现的频率,可能比你每天喝的咖啡次数还高。但真正点开详情页,你会发现:JD(职位描述)写得像一份通用说明书&am…

阅读更多 →
Firecracker API 变更 Runbook:从破坏性判定、语义化版本策略到优雅弃用的完整实战指南 2026/9/10 4:41:24

Firecracker API 变更 Runbook:从破坏性判定、语义化版本策略到优雅弃用的完整实战指南

Firecracker API 变更 Runbook:从破坏性判定、语义化版本策略到优雅弃用的完整实战指南 【免费下载链接】firecracker Secure and fast microVMs for serverless computing. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecracker Firecracker 通过…

阅读更多 →
CANN/ge融合Pass捕获张量示例 2026/9/10 4:41:24

CANN/ge融合Pass捕获张量示例

Sample Usage Guide 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Tensor…

阅读更多 →
Backstage Scaffolder 任务恢复:GCS Bucket 工作区存储配置迁移与实现解析 2026/9/10 4:41:24

Backstage Scaffolder 任务恢复:GCS Bucket 工作区存储配置迁移与实现解析

Backstage Scaffolder 任务恢复:GCS Bucket 工作区存储配置迁移与实现解析 【免费下载链接】backstage Backstage is an open framework for building developer portals 项目地址: https://gitcode.com/GitHub_Trending/ba/backstage 本文聚焦 Backstage Sc…

阅读更多 →
AB编码器测速全解析:原理、定时器配置与工程实战 2026/9/10 4:41:24

AB编码器测速全解析:原理、定时器配置与工程实战

作为一个常年跟电机、小车、自动化设备打交道的嵌入式工程师,我对 AB 编码器测速这个需求再熟悉不过了。不管你是做平衡车、AGV、机械臂关节还是简单的循迹小车,只要涉及到闭环控制,速度反馈就绕不开编码器。而增量式 AB 编码器,基…

阅读更多 →
YooAsset实战指南:Unity资源管理与热更新工程化落地 2026/9/10 4:38:24

YooAsset实战指南:Unity资源管理与热更新工程化落地

1. 什么是YooAsset?它为什么在Unity项目里越来越常见YooAsset不是Unity官方出品的工具,但它正在成为中大型Unity团队资源管理方案里的“隐形基础设施”。如果你最近在技术群、招聘JD或开源项目文档里频繁看到YooAsset这个词,大概率不是偶然—…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞