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参数。

操作步骤

  1. 抓包并重放

    • 浏览器访问:?num=500

    • 返回中文乱码,不影响判断

    • 将请求发送至 Burp Repeater 验证

  2. 发送至 Intruder 开始爆破

    • Payload 类型:Numbers

    • 范围:100–999

    • 顺序递增

  3. 设置匹配规则

    • 清空默认匹配项

    • 添加字符串:flag{

    • 一旦匹配到flag{即可停止扫描

  4. 获取 flag

    • 在 Intruder 结果中点击包含flag{的请求

    • 查看 Response,拿到 flag


WEB4:POST 登录爆破(Cluster Bomb)

抓包分析

POST 请求后返回:

username/password incorrect!

爆破流程

  1. 攻击模式

    • 选择Cluster Bomb(集束炸弹)

  2. 设置 Payload 位置

    • 选中用户名参数 →Add §

    • 选中密码参数 →Add §

  3. Payload 配置

    • Payload Set:1(用户名)

      • 类型:Simple List

      • 加载用户名字典

    • Payload Set:2(密码)

      • 类型:Simple List

      • 加载密码字典

  4. 发起攻击

    • 按 Length 排序,找到明显偏大的响应

    • 查看该请求的 Response,即可看到 flag


WEB5:HTTP Basic 认证绕过(Base64 编码)

抓包分析

POST 请求返回401 Unauthorized,说明认证失败。

请求头中包含:

Authorization: Basic NTU1NTo2NjY2NjY2

NTU1NTo2NjY2NjY2进行 Base64 解码,发现是:

5555:6666666

目标:构造正确的admin:password并重新编码。

Burp Intruder 配置

  1. 选中NTU1NTo2NjY2NjY2发送至 Intruder

  2. Payload 类型:Custom iterator​ 或Simple list

  3. Payload Processing(关键)

    • Add →Prefixadmin:

    • Add →Encode​ →Base64

  4. 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