Mimikyu靶场 CTF入门之基础练习题
字数 2114 2025-08-18 11:36:47

Mimikyu靶场CTF入门基础练习题详解

1. Pass01 - 基础响应包分析

解决方法

  1. 使用浏览器开发者工具(F12)查看响应包
  2. 使用Burp Suite抓包分析响应

关键点

  • 查看HTTP响应头(response headers)和响应体(response body)
  • 开发者工具中的"Network"标签页可查看完整请求/响应

2. Pass02 - 主页重定向分析

解决方法

  1. 尝试修改主页(index.php)访问参数
  2. 发现被重定向后,进行目录扫描
  3. 直接在Kali Linux的Firefox中访问测试

关键点

  • 理解HTTP重定向机制(301/302状态码)
  • 目录扫描工具推荐:dirb, dirsearch, gobuster

3. Pass03 - GET参数传递

解决方法

  • 构造URL:http://192.168.200.4/Mimikyu-main/Pass03/?1=2

关键点

  • GET请求格式:?参数名=参数值
  • 多个参数用&连接:?param1=value1&param2=value2

4. Pass04 - Robots协议分析

解决方法

  1. 访问/robots.txt文件
  2. 扫描目录发现隐藏文件
  3. 访问提示的flag文件

关键点

  • robots.txt用于指示搜索引擎爬虫哪些目录不应访问
  • 常见隐藏文件路径:/admin, /backup, /flag

5. Pass05 - 备份文件泄露

解决方法

  1. 尝试常见备份文件扩展名:
    • .git, .svn, .swp, .~, .bak
    • .bash_history, .bkf
  2. 扫描目录发现www.zip
  3. 在Kali Linux中解压分析

关键点

  • 备份文件常见命名模式
  • Windows与Linux环境差异可能导致文件访问结果不同

6. Pass06 - Cookie操作

解决方法

  1. 使用Burp Suite抓包
  2. 访问cookie.php
  3. 在Repeater模块中修改Cookie值

关键点

  • Cookie是服务器存储在客户端的小型数据
  • 修改Cookie可能改变应用行为

7. Pass07 - HTML源码修改

解决方法

  1. 按F12查看源码
  2. 找到按钮元素,将disabled属性改为abled
  3. 点击按钮获取flag

关键点

  • 前端验证可被绕过
  • 开发者工具可实时修改DOM元素

8. Pass08 - 请求头伪造

解决方法

  1. 伪造X-Forwarded-For头为123.123.123.123
  2. 伪造Referer头为指定值

关键点

  • X-Forwarded-For用于标识客户端原始IP
  • Referer表示请求来源页面
  • 使用Burp Suite或curl可轻松修改请求头

9. Pass09 - PHP弱类型比较

知识点详解

PHP比较运算符

  • 松散比较(==):只比较值,不比较类型
  • 严格比较(===):比较值和类型

示例分析

if(42 == "42") { echo '值相等'; }  // 输出
if(42 === "42") { echo '类型相等'; } else { echo '类型不相等'; }  // 输出"类型不相等"

特殊比较情况

  1. 字符串与数字比较:

    • 'a' == 0 → true (字符串'a'转为0)
    • '1a' == 1 → true (字符串'1a'转为1)
    • '12a' == 1 → false (字符串'12a'转为12)
  2. 布尔值比较:

    • True == 0 → false
    • True == 1 → true
    • True == 'False' → false

题目解法

$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){ echo $flag1; }
if(is_numeric($b)){ exit(); }
if($b>1234){ echo $flag2; }

Payload构造

  • a=a (满足'a'==0'a'不为空)
  • b=9999a (不是纯数字但比较时转为9999>1234)

10. Pass10 - 弱口令爆破

解决方法

  1. 使用集束炸弹模式进行爆破
  2. 从响应长度判断成功与否
  3. 分析返回包内容

关键点

  • 常见弱口令:admin/admin, root/123456等
  • 工具推荐:Burp Intruder, hydra

11. Pass11 - WebShell利用

解决方法

  • 直接访问flag.php获取flag

关键点

  • 检查所有可访问的.php文件
  • 注意不显眼的链接或按钮

12. Pass12 - 远程命令执行(RCE)

解决方法

  1. 测试基本命令:
    • ping baidu.com
    • ping 127.0.0.1
  2. 使用ipconfig查询系统信息
  3. 查找flag文件:
    • type flag.txt (Windows)
    • cat flag.txt (Linux)

关键点

  • 识别操作系统类型(命令响应差异)
  • Windows和Linux命令区别:
    • 查看文件:type vs cat
    • 网络配置:ipconfig vs ifconfig

总结

本系列练习涵盖了CTF Web方向的多个基础知识点:

  1. HTTP协议分析
  2. 文件泄露与目录遍历
  3. Cookie和Header操作
  4. 前端验证绕过
  5. PHP弱类型漏洞
  6. 弱口令爆破
  7. 命令注入

每个练习都针对一个特定的Web安全概念,通过实际操作加深理解。建议在完成这些基础练习后,进一步挑战更复杂的CTF题目。

Mimikyu靶场CTF入门基础练习题详解 1. Pass01 - 基础响应包分析 解决方法 : 使用浏览器开发者工具(F12)查看响应包 使用Burp Suite抓包分析响应 关键点 : 查看HTTP响应头(response headers)和响应体(response body) 开发者工具中的"Network"标签页可查看完整请求/响应 2. Pass02 - 主页重定向分析 解决方法 : 尝试修改主页(index.php)访问参数 发现被重定向后,进行目录扫描 直接在Kali Linux的Firefox中访问测试 关键点 : 理解HTTP重定向机制(301/302状态码) 目录扫描工具推荐:dirb, dirsearch, gobuster 3. Pass03 - GET参数传递 解决方法 : 构造URL: http://192.168.200.4/Mimikyu-main/Pass03/?1=2 关键点 : GET请求格式: ?参数名=参数值 多个参数用 & 连接: ?param1=value1&param2=value2 4. Pass04 - Robots协议分析 解决方法 : 访问 /robots.txt 文件 扫描目录发现隐藏文件 访问提示的flag文件 关键点 : robots.txt用于指示搜索引擎爬虫哪些目录不应访问 常见隐藏文件路径: /admin , /backup , /flag 5. Pass05 - 备份文件泄露 解决方法 : 尝试常见备份文件扩展名: .git , .svn , .swp , .~ , .bak .bash_history , .bkf 扫描目录发现 www.zip 在Kali Linux中解压分析 关键点 : 备份文件常见命名模式 Windows与Linux环境差异可能导致文件访问结果不同 6. Pass06 - Cookie操作 解决方法 : 使用Burp Suite抓包 访问 cookie.php 在Repeater模块中修改Cookie值 关键点 : Cookie是服务器存储在客户端的小型数据 修改Cookie可能改变应用行为 7. Pass07 - HTML源码修改 解决方法 : 按F12查看源码 找到按钮元素,将 disabled 属性改为 abled 点击按钮获取flag 关键点 : 前端验证可被绕过 开发者工具可实时修改DOM元素 8. Pass08 - 请求头伪造 解决方法 : 伪造 X-Forwarded-For 头为 123.123.123.123 伪造 Referer 头为指定值 关键点 : X-Forwarded-For 用于标识客户端原始IP Referer 表示请求来源页面 使用Burp Suite或curl可轻松修改请求头 9. Pass09 - PHP弱类型比较 知识点详解 : PHP比较运算符 松散比较(==):只比较值,不比较类型 严格比较(===):比较值和类型 示例分析 特殊比较情况 字符串与数字比较: 'a' == 0 → true (字符串'a'转为0) '1a' == 1 → true (字符串'1a'转为1) '12a' == 1 → false (字符串'12a'转为12) 布尔值比较: True == 0 → false True == 1 → true True == 'False' → false 题目解法 Payload构造 : a=a (满足 'a'==0 且 'a' 不为空) b=9999a (不是纯数字但比较时转为9999>1234) 10. Pass10 - 弱口令爆破 解决方法 : 使用集束炸弹模式进行爆破 从响应长度判断成功与否 分析返回包内容 关键点 : 常见弱口令:admin/admin, root/123456等 工具推荐:Burp Intruder, hydra 11. Pass11 - WebShell利用 解决方法 : 直接访问 flag.php 获取flag 关键点 : 检查所有可访问的.php文件 注意不显眼的链接或按钮 12. Pass12 - 远程命令执行(RCE) 解决方法 : 测试基本命令: ping baidu.com ping 127.0.0.1 使用 ipconfig 查询系统信息 查找flag文件: type flag.txt (Windows) cat flag.txt (Linux) 关键点 : 识别操作系统类型(命令响应差异) Windows和Linux命令区别: 查看文件: type vs cat 网络配置: ipconfig vs ifconfig 总结 本系列练习涵盖了CTF Web方向的多个基础知识点: HTTP协议分析 文件泄露与目录遍历 Cookie和Header操作 前端验证绕过 PHP弱类型漏洞 弱口令爆破 命令注入 每个练习都针对一个特定的Web安全概念,通过实际操作加深理解。建议在完成这些基础练习后,进一步挑战更复杂的CTF题目。