Inndy的Hack Game攻略(WEB篇)
字数 1733 2025-08-18 11:36:57

Hack Game WEB篇攻略详解

前言

本文详细解析Inndy的Hack Game中WEB部分的解题思路和技巧,适合CTF初学者学习。所有题目难度从10分起步,逐步提升。

基础题目

Task 12 hide and seek (10分)

考点:HTML源码查看

  • 题目提示flag格式为flag{...}
  • 直接查看网页源代码(Ctrl+U)
  • 在源码中搜索flag{即可找到flag

Task 13 guestbook (10分)

考点:SQL注入

  • 题目明确提示使用sqlmap工具
  • 使用sqlmap进行自动化注入:
    sqlmap -u "目标URL" --dbs
    sqlmap -u "目标URL" -D 数据库名 --tables
    sqlmap -u "目标URL" -D 数据库名 -T flag --dump
    

中级题目

Task 14 LFI (20分)

考点:文件包含漏洞

  1. 使用PHP封装协议读取文件:
    php://filter/read=convert.base64-encode/resource=pages/flag
    
  2. 解码base64后发现还包含config.php
  3. 再次使用封装协议读取config文件获取flag

Task 15 homepage (30分)

考点:JavaScript编码分析

  1. 发现cute.js文件内容为乱码
  2. 尝试改变编码方式,发现是Unicode编码的表情符号
  3. 识别为aaencode编码的JavaScript
  4. 使用在线工具解码aaencode
  5. 执行解码后的JS代码会生成二维码
  6. 扫描二维码获取flag

Task 16 ping (30分)

考点:命令注入绕过

  1. 分析源码发现双引号"被过滤
  2. 尝试反引号`未被过滤
  3. 发现flag.php文件但catflag被过滤
  4. 使用通配符绕过:
    head f*
    

Task 17 scoreboard (30分)

考点:HTTP响应头分析

  • 使用Burp Suite抓包
  • 检查响应头发现X-Flag字段包含flag

SQL注入进阶

Task 18 login as admin 0 (40分)

考点:SQL注入绕过

  1. 分析safe_filter函数将单引号转义为\\'
  2. 构造payload:
    \' or 1#
    
  3. 需要指定返回记录:
    \' or 1 limit 1,1#
    

Task 19 login as admin 0.1 (40分)

考点:SQL注入与tamper脚本

  1. 需要修改sqlmap的tamper脚本
  2. 修改unmagicquotes.py中的宽字节注入部分
  3. 发现隐藏表h1dden_f14g
  4. 可使用时间延迟注入获取数据

Task 20 login as admin 1 (50分)

考点:空格过滤绕过

  1. 过滤了空格字符
  2. 使用注释符/**/代替空格:
    admin\'/**/UNION/**/SELECT/**/1,version(),3,4#
    

Task 21 login as admin 1.2 (60分)

考点:盲注技术

  1. 关闭了回显,需要盲注
  2. 编写自定义盲注脚本
  3. 注意表名和字段名都是32位长字符串
  4. 使用布尔型或时间型盲注技术

认证绕过

Task 22 login as admin 3 (50分)

考点:Cookie弱类型比较

  1. 分析cookie生成算法
  2. 尝试使用0进行弱类型比较绕过
  3. 修改cookie值成功获取admin权限

Task 23 login as admin 4 (50分)

考点:截断攻击

  1. 分析源码发现只需用户名为admin
  2. 使用Burp Suite截断请求
  3. 修改用户名参数为admin获取flag

Task 24 login as admin 6 (60分)

考点:strcmp漏洞+变量覆盖

  1. 利用strcmp函数处理数组时的漏洞:
    password[]=anything
    
  2. 发现admin账号无法直接绕过时
  3. 构造admin账号覆盖原有账号:
    username=admin&username[]=admin&password[]=anything
    

Task 25 login as admin 7 (60分)

考点:PHP弱类型比较

  1. 寻找弱类型比较的密码
  2. 0e12345会被视为0
  3. 使用弱类型密码登录获取flag

高级题目

Task 26 dafuq-manager 1 (70分)

考点:Cookie控制

  1. 根据提示设置初始cookie:
    help=me
    
  2. 发现响应提示需要修改hidden参数
  3. 修改cookie:
    show_hidden=yes
    
  4. 刷新页面显示flag文件

总结

本系列题目涵盖了WEB安全的多个方面:

  1. 基础:源码查看、简单注入
  2. 中级:文件包含、命令注入、编码分析
  3. 高级:各种SQL注入绕过技术
  4. 认证:Cookie绕过、截断攻击、弱类型比较
  5. 特殊技巧:strcmp漏洞、变量覆盖

建议按照难度顺序逐步练习,掌握每种漏洞的原理和利用方法。

Hack Game WEB篇攻略详解 前言 本文详细解析Inndy的Hack Game中WEB部分的解题思路和技巧,适合CTF初学者学习。所有题目难度从10分起步,逐步提升。 基础题目 Task 12 hide and seek (10分) 考点 :HTML源码查看 题目提示flag格式为 flag{...} 直接查看网页源代码(Ctrl+U) 在源码中搜索 flag{ 即可找到flag Task 13 guestbook (10分) 考点 :SQL注入 题目明确提示使用sqlmap工具 使用sqlmap进行自动化注入: 中级题目 Task 14 LFI (20分) 考点 :文件包含漏洞 使用PHP封装协议读取文件: 解码base64后发现还包含 config.php 再次使用封装协议读取config文件获取flag Task 15 homepage (30分) 考点 :JavaScript编码分析 发现 cute.js 文件内容为乱码 尝试改变编码方式,发现是Unicode编码的表情符号 识别为aaencode编码的JavaScript 使用在线工具解码aaencode 执行解码后的JS代码会生成二维码 扫描二维码获取flag Task 16 ping (30分) 考点 :命令注入绕过 分析源码发现双引号 " 被过滤 尝试反引号 ` 未被过滤 发现 flag.php 文件但 cat 和 flag 被过滤 使用通配符绕过: Task 17 scoreboard (30分) 考点 :HTTP响应头分析 使用Burp Suite抓包 检查响应头发现 X-Flag 字段包含flag SQL注入进阶 Task 18 login as admin 0 (40分) 考点 :SQL注入绕过 分析 safe_filter 函数将单引号转义为 \\' 构造payload: 需要指定返回记录: Task 19 login as admin 0.1 (40分) 考点 :SQL注入与tamper脚本 需要修改sqlmap的tamper脚本 修改 unmagicquotes.py 中的宽字节注入部分 发现隐藏表 h1dden_f14g 可使用时间延迟注入获取数据 Task 20 login as admin 1 (50分) 考点 :空格过滤绕过 过滤了空格字符 使用注释符 /**/ 代替空格: Task 21 login as admin 1.2 (60分) 考点 :盲注技术 关闭了回显,需要盲注 编写自定义盲注脚本 注意表名和字段名都是32位长字符串 使用布尔型或时间型盲注技术 认证绕过 Task 22 login as admin 3 (50分) 考点 :Cookie弱类型比较 分析cookie生成算法 尝试使用 0 进行弱类型比较绕过 修改cookie值成功获取admin权限 Task 23 login as admin 4 (50分) 考点 :截断攻击 分析源码发现只需用户名为admin 使用Burp Suite截断请求 修改用户名参数为admin获取flag Task 24 login as admin 6 (60分) 考点 :strcmp漏洞+变量覆盖 利用strcmp函数处理数组时的漏洞: 发现admin账号无法直接绕过时 构造admin账号覆盖原有账号: Task 25 login as admin 7 (60分) 考点 :PHP弱类型比较 寻找弱类型比较的密码 如 0e12345 会被视为0 使用弱类型密码登录获取flag 高级题目 Task 26 dafuq-manager 1 (70分) 考点 :Cookie控制 根据提示设置初始cookie: 发现响应提示需要修改 hidden 参数 修改cookie: 刷新页面显示flag文件 总结 本系列题目涵盖了WEB安全的多个方面: 基础:源码查看、简单注入 中级:文件包含、命令注入、编码分析 高级:各种SQL注入绕过技术 认证:Cookie绕过、截断攻击、弱类型比较 特殊技巧:strcmp漏洞、变量覆盖 建议按照难度顺序逐步练习,掌握每种漏洞的原理和利用方法。