Polar CTF Web 简单题型解题复盘
本文整理了一系列 Polar CTF Web 入门题目的解题思路与关键技巧,涵盖文件泄露、命令执行、JWT 伪造及上传绕过等常见漏洞。通过实际案例演示如何结合代码审计、Burp Suite 及在线工具完成挑战,适合初学者巩固 Web 安全基础。
SWP 文件泄露
这道题作为开篇,考察对备份文件的敏感度。访问 /.index.php.swp 即可获取源码。通过分析发现 POST 传参 xdmtql 需包含 "sys nb" 且匹配 /sys.\*nb/is,存在逻辑矛盾。
利用 PCRE 回溯次数限制使 preg_match 失效是核心思路。构造足够长的数据触发回溯溢出:
import requests
url = 'http://target_url/'
data = {
'xdmtql': 'sys nb' + 'very' * 250000
}
r = requests.post(url=url, data=data).text
print(r)
执行脚本即可获取 Flag。
简单 RCE
题目给出了一段 PHP 代码,需满足两个条件才能执行 eval:GET 参数 sys 存在;POST 参数 yyds 存在。
函数中禁用了空格及部分读取命令,但 include 未被过滤。直接利用 include 读取 flag 文件:
/?sys=include"/flag";
POST 传参 yyds=666 即可执行。
蜜雪冰城吉警店
题目要求点第 9 个隐藏款奶茶。查看源代码发现列表 ID 从 1 到 8。直接将请求中的 id=8 修改为 id=9,点击提交即可获取 Flag。
召唤神龙
游戏界面涉及一段加密文本,经分析为 JSFuck 编码。使用在线解码工具还原后,可得到相应的交互逻辑或 Payload。
Seek Flag
- 访问
robots.txt获取flag3。 - 使用 Burp Suite 抓包,在响应包中找到
flag2。 - 将 Cookie 中的
id改为1并发送请求,获取flag1。 - 拼接所有部分得到完整 Flag。
JWT
登录界面存在 JWT 令牌。注册普通用户后查看源码,发现 JWT 值。使用工具爆破出密钥为 SYSA。
伪造 JWT 令牌,将用户名改为 admin,配合 Yakit 构造请求即可获取权限。
Login
按 F12 有登录提示,但前端仅显示成功。尝试攻击学号字段,发现从 2 开始递增的请求会返回不同的 Flag 片段。遍历拼接即可得到完整 Flag。
iPhone
页面提示改 UA。使用 Burp Suite 或 HackBar 将 User-Agent 修改为 iphone,即可触发特定逻辑。


