跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PHP算法

Polar CTF Web 简单难度题目实战解析

Polar CTF Web 简单难度题目实战解析,涵盖 SWP 文件泄露、PCRE 回溯绕过、RCE 命令执行、JWT 伪造、Session 文件包含等常见 Web 安全漏洞。通过代码审计与流量分析,演示了如何构造 Payload 获取 Flag,重点讲解正则过滤绕过技巧及 PHP 反序列化利用方法。

神经兮兮发布于 2026/4/8更新于 2026/9/963 浏览
Polar CTF Web 简单难度题目实战解析

Polar CTF Web 简单难度题目实战解析

本文针对 Polar CTF Web 简单难度题目进行实战复盘,涵盖 SWP 文件泄露、PCRE 回溯绕过、RCE 命令执行、JWT 伪造、Session 文件包含等常见 Web 安全漏洞。通过代码审计与流量分析,演示了如何构造 Payload 获取 Flag,重点讲解正则过滤绕过技巧及 PHP 反序列化利用方法。

SWP 文件泄露与 PCRE 回溯绕过

第一题通常作为热身,访问 /.index.php.swp 可发现备份文件。F12 查看源码或下载后分析,发现 POST 传参 xdmtql 需包含 "sys nb" 且匹配 /sys\.\*nb/is 正则。由于参数不能为数组,常规绕过无效,但可利用 PCRE 回溯次数限制(ReDoS)使 preg_match 失效。

import requests
url = 'http://6798cfa0-6424-4490-af65-7ee1c5b6153e.www.polarctf.com:8090/'
data = {
    'xdmtql': 'sys nb' + 'very' * 250000
}
r = requests.post(url=url, data=data).text
print(r)

运行脚本即可触发逻辑漏洞返回 Flag。

简单 RCE 与正则绕过

该题提供一段 PHP 代码,要求满足两个条件:GET 参数 sys 存在,POST 参数 yyds 存在。函数内部通过正则禁止了 cat 等读取命令及空格,并禁用了部分执行函数。绕过思路在于利用 include 直接包含 /flag 文件,同时规避空格过滤。

Payload 构造如下:

/?sys=include"/flag";

配合 POST 传参 yyds=666 即可执行。

蜜雪冰城吉警店

题目要求点第 9 个隐藏款奶茶的单子。查看源代码发现 ID 列表仅到 8,直接将请求中的 id=8 修改为 id=9 并提交,即可触发隐藏逻辑获取 Flag。

召唤神龙与 JSFuck

游戏界面看似无法操作,查看 main.js 源码发现一段加密文本。经识别为 JSFuck 编码,使用在线工具解码后可还原出原始逻辑,进而找到通关路径。

Seek Flag 与多源信息聚合

  1. 访问 robots.txt 获取 flag3。
  2. 抓包分析响应头或 Body,定位 flag2。
  3. 参考 Cookie 机制,将 id 改为 1 发送请求,获取 flag1。
  4. 拼接所有片段得到完整 Flag。

JWT 伪造

登录界面存在 Base64 编码字符串,解密后无明显意义。注册普通用户后查看源码,发现 JWT 令牌结构。使用工具爆破密钥,得到 SYSA。随后伪造 JWT 载荷,将用户名修改为 admin,重新签名并替换 Cookie 即可越权访问。

Login 与学号递增

前端提示登录成功但无实质反馈。通过 BP 抓包尝试攻击,发现学号从 2 开始递增时,每个请求会返回 Flag 的一部分。遍历学号收集碎片后拼接即可。

iPhone UA 检测

页面入口无明显信息,检查代码提示修改 User-Agent。使用抓包工具将请求头 User-Agent 修改为 iPhone 相关标识,即可解锁隐藏内容。

浮生日记与 XSS 注入

F12 查看源码发现 title 属性涉及弹窗逻辑。结合题目名称推测为 JS 注入。测试发现输入 <script>alert(1)</script> 会被清空,说明存在过滤。尝试闭合 value 值并双写绕过,构造 Payload:

"><scriscriptpt>alert(1)</scriscriptpt>

提交后触发弹窗获取 Flag。

变量覆盖与超全局变量

PHP 代码中存在变量覆盖风险。通过 GET 传参 c 给变量 $a,利用正则绕过符号限制。初始尝试输出 FLAG 为 NULL,转而利用超全局变量 GLOBALS 构造:

?c=GLOBALS

即可查看系统变量内容。

MD5 校验与爆破

代码逻辑检查 MD5 加密后字符串的第 2、15、18 位字符是否相同,并进行特定数学运算验证。访问 /?pass=text 后,使用工具对参数进行爆破,根据长度特征定位可疑点,最终解得 Flag。

XFF 伪造

题目提示利用 XFF (X-Forwarded-For) 头。直接构造请求头 X-Forwarded-For: 127.0.0.1 发送给重放器,观察响应变化以获取权限。

RCE1 管道符绕过

GET 传入 ip 参数,通过正则过滤空格。利用管道符 | 连接命令,例如 127.0.0.1|ls,返回生成的 flag.php 文件,右键查看源码或直接访问获取 Flag。

GET-POST 组合

根据代码逻辑,需先通过 GET 传参初始化状态,再 POST 传参提交数据,按顺序组合请求即可。

被黑掉的站与目录扫描

扫描目录发现 index.php.bak 泄露字典。访问 shell.php 后,使用字典爆破密码进入后台。

签到题与伪协议

抓包发现 Cookie 初始值为 no,改为 yes 后返回 Base64 字符串。分析代码发现 file 参数存在文件包含漏洞,../ 被过滤为空。结合 PHP 伪协议 php://filter 进行双写绕过,读取文件内容。

前端禁用绕过

提交按钮无法点击,F12 移除元素 disabled 属性。调整 maxlength 限制以复制完整提示,提交获得 Flag。

Session 文件包含

POST 传入 name 参数时,PHP 会将 Session 数据写入本地文件。在 name 中注入恶意 PHP 代码(如 <?php system('ls');?>),利用 include($_GET['file']) 的 LFI 漏洞包含该 Session 文件,从而执行任意命令。

Don't touch me

F12 查看源码发现 2.php,访问后发现按钮被禁用。删除 disabled 属性后点击,源码中暴露 fla.php,访问即得 Flag。

Robots 协议

根据提示访问 robots.txt,其中包含敏感路径指引,继续访问对应路径获取 Flag。

PHP 反序列化

代码对 $_GET['a'] 进行 unserialize 操作,类中存在 __destruct 魔术方法调用 eval()。构造 Example 类对象,将 $sys 属性设为危险命令,序列化后传入 URL 参数。

<?php class Example { public $sys="system('tac cat flag.php');"; }
$a = new Example(); var_dump(serialize($a)); ?>

注意 cat 可能无法直接输出,改用 tac 读取文件内容。

Ezupload 与一句话木马

上传功能限制 GIF 格式。上传一句话木马并将后缀改为 .gif,抓包修改为 .php 发包。使用蚁剑连接 Shell 获取 Flag。

Cookie 欺骗

网页提示仅 admin 用户可见 Flag。前端修改无效,通过抓包拦截请求,修改 Cookie 中的用户身份标识为 admin 即可。

Upload 与双写绕过

上传图片功能未作响应,源码显示存在过滤。利用 str_ireplace 函数特性,采用双写 pphphp 绕过 php 关键字过滤,上传成功并连接获取 Flag。

目录

  1. Polar CTF Web 简单难度题目实战解析
  2. SWP 文件泄露与 PCRE 回溯绕过
  3. 简单 RCE 与正则绕过
  4. 蜜雪冰城吉警店
  5. 召唤神龙与 JSFuck
  6. Seek Flag 与多源信息聚合
  7. JWT 伪造
  8. Login 与学号递增
  9. iPhone UA 检测
  10. 浮生日记与 XSS 注入
  11. 变量覆盖与超全局变量
  12. MD5 校验与爆破
  13. XFF 伪造
  14. RCE1 管道符绕过
  15. GET-POST 组合
  16. 被黑掉的站与目录扫描
  17. 签到题与伪协议
  18. 前端禁用绕过
  19. Session 文件包含
  20. Don't touch me
  21. Robots 协议
  22. PHP 反序列化
  23. Ezupload 与一句话木马
  24. Cookie 欺骗
  25. Upload 与双写绕过

更多推荐文章

查看全部
  • 深入理解 HTML5 Web Workers:提升网页性能的核心技术
  • Coze AI 智能体平台工作流基础创建与核心节点实战
  • Python 环境安装与配置 Gurobi 求解器指南
  • KDD 2024 获奖名单公布:创新奖得主 Lise Getoor 及新星奖得主李骏东
  • 无代码方案:CRNN WebUI使用全指南
  • 链表经典算法题解:相加、重排与合并
  • 开源机器人 AI 框架 LeRobot 入门与实践
  • Spring AI ImageModel 集成 OpenAI DALL-E 图像生成指南
  • C++ 类与对象进阶:默认成员函数与操作符重载
  • 南北阁 4.1-3B WebUI 效果展示:输入框语法高亮与 JSON/YAML 格式校验
  • 图神经网络(GNN)研究综述
  • 从 vw/vh 到 clamp():前端响应式设计的痛点与进化
  • Java 8 函数式编程实战:Lambda、Stream 与 Optional 详解
  • VS Code + GitHub Copilot 避坑指南:从安装配置到最佳实践
  • Docker Compose 多实例 Tomcat 部署示例
  • 数据结构与算法:随机链表复制的三步解法
  • 五种主流 AI Agent 框架对比与选型指南
  • OpenClaw iOS/Android 端部署教程:语音唤醒与随身 AI 助手
  • 多语言获取股票数据接口示例:Python JavaScript Java
  • Photoshop 集成 ComfyUI 与 Stable Diffusion 实战指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online