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分)
考点:文件包含漏洞
- 使用PHP封装协议读取文件:
php://filter/read=convert.base64-encode/resource=pages/flag - 解码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被过滤 - 使用通配符绕过:
head f*
Task 17 scoreboard (30分)
考点:HTTP响应头分析
- 使用Burp Suite抓包
- 检查响应头发现
X-Flag字段包含flag
SQL注入进阶
Task 18 login as admin 0 (40分)
考点:SQL注入绕过
- 分析
safe_filter函数将单引号转义为\\' - 构造payload:
\' or 1# - 需要指定返回记录:
\' or 1 limit 1,1#
Task 19 login as admin 0.1 (40分)
考点:SQL注入与tamper脚本
- 需要修改sqlmap的tamper脚本
- 修改
unmagicquotes.py中的宽字节注入部分 - 发现隐藏表
h1dden_f14g - 可使用时间延迟注入获取数据
Task 20 login as admin 1 (50分)
考点:空格过滤绕过
- 过滤了空格字符
- 使用注释符
/**/代替空格:admin\'/**/UNION/**/SELECT/**/1,version(),3,4#
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函数处理数组时的漏洞:
password[]=anything - 发现admin账号无法直接绕过时
- 构造admin账号覆盖原有账号:
username=admin&username[]=admin&password[]=anything
Task 25 login as admin 7 (60分)
考点:PHP弱类型比较
- 寻找弱类型比较的密码
- 如
0e12345会被视为0 - 使用弱类型密码登录获取flag
高级题目
Task 26 dafuq-manager 1 (70分)
考点:Cookie控制
- 根据提示设置初始cookie:
help=me - 发现响应提示需要修改
hidden参数 - 修改cookie:
show_hidden=yes - 刷新页面显示flag文件
总结
本系列题目涵盖了WEB安全的多个方面:
- 基础:源码查看、简单注入
- 中级:文件包含、命令注入、编码分析
- 高级:各种SQL注入绕过技术
- 认证:Cookie绕过、截断攻击、弱类型比较
- 特殊技巧:strcmp漏洞、变量覆盖
建议按照难度顺序逐步练习,掌握每种漏洞的原理和利用方法。