CTF-SHOW 题解(更新中)
我帮你把内容整理成CSDN 技术博客常用格式,重点做了这些优化:
统一标题层级(H2/H3)
代码、路径、命令用
行内代码区分关键操作加粗,流程更清晰
去掉口语化表达,更符合技术文档风格
保留你原本的解题逻辑,方便读者复现
你可以直接复制到 CSDN 编辑器里,再微调配图即可。
CTF Web 入门实战记录(WEB1–WEB5)
WEB1:robots.txt 信息泄露
访问路径
/robots.txt返回内容
User-agent: Baiduspider Disallow: /admin/admin.php访问隐藏路径
/admin/admin.php结果
页面直接返回flag{},完成。
WEB2:.git 源码泄露 + GitHack 还原
访问路径
/.git/返回
403 Forbidden说明.git目录存在且有内容。
使用 GitHack 恢复源码
进入githack目录,执行:
python githack.py -u "http://880af4f5-c073-46f8-b831-97800b13f145.challenges.ctfer.com:8080/.git/"工具运行后会在当前目录生成一个 PHP 文件,打开该文件即可看到 flag。
WEB3:3 位数字爆破(GET 参数)
题目提示
3 位秘密数字,通过 GET 提交num参数。
操作步骤
抓包并重放
浏览器访问:
?num=500返回中文乱码,不影响判断
将请求发送至 Burp Repeater 验证
发送至 Intruder 开始爆破
Payload 类型:
Numbers范围:
100–999顺序递增
设置匹配规则
清空默认匹配项
添加字符串:
flag{一旦匹配到
flag{即可停止扫描
获取 flag
在 Intruder 结果中点击包含
flag{的请求查看 Response,拿到 flag
WEB4:POST 登录爆破(Cluster Bomb)
抓包分析
POST 请求后返回:
username/password incorrect!爆破流程
攻击模式
选择Cluster Bomb(集束炸弹)
设置 Payload 位置
选中用户名参数 →Add §
选中密码参数 →Add §
Payload 配置
Payload Set:1(用户名)
类型:Simple List
加载用户名字典
Payload Set:2(密码)
类型:Simple List
加载密码字典
发起攻击
按 Length 排序,找到明显偏大的响应
查看该请求的 Response,即可看到 flag
WEB5:HTTP Basic 认证绕过(Base64 编码)
抓包分析
POST 请求返回401 Unauthorized,说明认证失败。
请求头中包含:
Authorization: Basic NTU1NTo2NjY2NjY2对NTU1NTo2NjY2NjY2进行 Base64 解码,发现是:
5555:6666666目标:构造正确的admin:password并重新编码。
Burp Intruder 配置
选中
NTU1NTo2NjY2NjY2发送至 IntruderPayload 类型:Custom iterator 或Simple list
Payload Processing(关键)
Add →Prefix:
admin:Add →Encode →Base64
Payload Encoding
取消 URL-encode 特殊字符
获取 flag
启动攻击
按 Length 排序,找到异常响应
查看 Response,得到 flag
WEB6
综上结合
WEB7
考察php;linux操作
输入
dir=;cat flag.php
执行,发现没有结果
那就看看源代码,发现flag
or
输入
dir=%26%26 tac flag.php(原dir=&& cat flag.php,后结果已进行编码)
页面直接返回flag
web8
" >/dev/null 2>&1" 即表示不回显
输入
cmd=tac flag.php && whoami(&&需编码)
cmd=tac flag.php || whoami
web9
cmd = ls || ls
cmd = tac f*.php||ls
web10
cmd=`echo 'dGFjIGZhbGcucGhw'|base64 -d`||ls