HGAME-WEEK1 WP (web re misc三方向ak)
字数 2573 2025-08-22 12:23:24

HGAME-WEEK1 CTF 比赛解题报告与知识点总结

1. Web方向

1.1 WEEK1 签到

  • 知识点:简单的签到题,了解flag提交格式
  • flaghgame{Now-I-kn0w-how-to-subm1t-my-fl4gs!}

1.2 Level 24 Pacman

  • 解题思路
    • 搜索score相关参数
    • 通过修改游戏分数获取flag

1.3 Level 38475 角落 (CVE-2024-38475)

  • 漏洞利用
    • 使用dirsearch扫描发现/robots.txt/app.conf
    • 获取源码位置:/usr/local/apache2/app/app.py
    • 利用Apache RewriteRule漏洞
    • 参考GitHub PoC:https://github.com/p0in7s/CVE-2024-38475
    • 根据源码构造payload生成exp

1.4 Level 47 BandBomb

  • 解题方法:使用deepseek工具直接解决

1.5 Level 69 MysteryMessageBoard

  • 解题步骤
    1. 发现/flag路由需要admin权限
    2. 爆破密码登入shallot账户
    3. 分析留言系统,发现XSS漏洞
    4. 发现/admin路由,是一个XSS bot
    5. 构造XSS payload留言
    6. 访问/admin获取admin的cookie
    7. 使用admin cookie访问/flag路由获取flag

1.6 Level 25 双面人派对

  • 解题过程
    1. 下载main文件
    2. 使用upx -d脱壳
    3. 分析发现是minio对象存储服务
    4. 找到用户名密码
    5. 下载minio客户端:dl.min.io/client/mc/release/
    6. 下载存储文件获取源码
    7. 研究发现overseer实现热重载功能
    8. 通过myminio/prodbucket/update获取源文件
    9. 添加webshell,编译后上传到对应位置
    10. 更简单的方法:将映射的本地目录.改为/

2. Reverse方向

2.1 Turtle

  • 解题方法:使用AI工具直接解决

2.2 Delta Erro0000ors

  • 题目来源:AmateursCTF-Public/2024/rev/flagpatch
  • 知识点
    • Windows差异化补丁MSDelta研究
    • ApplyDeltaB函数分析
    • 差分补丁格式解析:
      • PA30开头(4字节)
      • 时间信息(8字节)
      • 定位信息(2字节)
      • 校验方式及原数据大小(4或3字节)
      • 校验hash长度(2或0字节)
      • 校验hash值(16/20/0字节)
      • 定位符及加密数据(固定)
    • 校验方式:MD5(0x8003)
    • 漏洞利用:修改校验方式为0x0绕过校验
    • 脚本编写:查看元数据和生成零校验标识
    • 使用delta_patch模块直接获取结果
    • 最终flag:b"Seven says you're right!!!!\x00"

2.3 Turtle (详细分析)

  • 解题步骤
    1. 使用xvolk脱壳
    2. 分析发现两次RC4加密:
    • 第一次RC4验证第二次RC4的key
    • 第二次RC4使用第一次输入的key
    1. 魔改RC4验证flag
    2. 正常RC4,key为yekyek
    3. 第二次魔改RC4做减法
    4. 最终flag:hgame{Y0u'r3_re4l1y_g3t_0Ut_of_th3_upX!}

2.4 尊嘟假嘟

  • 解题过程
    1. 对dex进行解密加载
    2. 动态调用copyDexFromAssets
    3. Hook出文件位置
    4. 另存解密后的dex文件
    5. 逆向分析发现换表base64
    6. RC4加密分析
    7. enc key为点击生成的十二个0.oo.0随机组合的36字节字符串
    8. 发现dex中encode换表还有一层异或运算

3. Misc方向

3.1 Hakuya Want A Girl Friend

  • 解题步骤
    1. 正序解压zip文件
    2. 倒序处理png图片
    3. zip有密码,通过修改png宽高获取密码
    4. 注意:a和g字母顺序问题
    5. flag:hgame{h4kyu4_w4nt_gir1f3nd_+q_931290928}

3.2 Computer cleaner

  • 解题方法
    1. 分析图片获取部分flag:hgame{y0u_
    2. 访问攻击IP:121.41.34.25
    3. 获取剩余flag部分:hav3_cleaned_th3
    4. 完整flag:hgame{y0u_hav3_cleaned_th3_c0mput3r!}

3.3 Level 314 线性走廊中的双生实体

  • 解题方法
    • 直接修改pt中improved_model/code/__torch__.py源码
    • 将flag输出判断改为永真条件

3.4 Two wires

  • 解题步骤
    1. 分析Wire部分函数源码(ArduinoCore-avr)
    2. 使用sigrok工具查看sr文件,进行I2C解码
    3. loop regen_otp用于生成HOTP,模0x000f4240(即%1000000)
    4. 分析I2C通信:
    • i2cOnReceive:接收上位机指令
    • i2cOnRequest:发送信息(包含HOPT和counter)
    1. 内存及逻辑分析(使用ghidra)
    2. 解析recv数据获取secret和counter
    3. 解析send数据获取HOTP验证数据和计数信息
    4. 计算X1和X2值

3.5 Crypto sieve

  • 解题方法:使用deepseek工具直接解决
  • flaghgame{sieve_is_n0t_that_HArd}

4. 关键工具和技术总结

  1. Web方向

    • dirsearch目录扫描
    • CVE漏洞利用(CVE-2024-38475)
    • XSS攻击链构造
    • Minio对象存储分析
  2. Reverse方向

    • UPX脱壳
    • Windows差分补丁分析
    • RC4算法分析与魔改
    • Dex文件动态加载与Hook
  3. Misc方向

    • 文件格式分析(zip/png)
    • I2C协议分析(sigrok工具)
    • HOTP生成算法
    • Ghidra逆向分析
  4. 通用工具

    • deepseek解题工具
    • xvolk脱壳工具
    • delta_patch模块
    • ghidra逆向工具
    • sigrok协议分析工具
HGAME-WEEK1 CTF 比赛解题报告与知识点总结 1. Web方向 1.1 WEEK1 签到 知识点 :简单的签到题,了解flag提交格式 flag : hgame{Now-I-kn0w-how-to-subm1t-my-fl4gs!} 1.2 Level 24 Pacman 解题思路 : 搜索score相关参数 通过修改游戏分数获取flag 1.3 Level 38475 角落 (CVE-2024-38475) 漏洞利用 : 使用dirsearch扫描发现 /robots.txt 和 /app.conf 获取源码位置: /usr/local/apache2/app/app.py 利用Apache RewriteRule漏洞 参考GitHub PoC:https://github.com/p0in7s/CVE-2024-38475 根据源码构造payload生成exp 1.4 Level 47 BandBomb 解题方法 :使用deepseek工具直接解决 1.5 Level 69 MysteryMessageBoard 解题步骤 : 发现 /flag 路由需要admin权限 爆破密码登入shallot账户 分析留言系统,发现XSS漏洞 发现 /admin 路由,是一个XSS bot 构造XSS payload留言 访问 /admin 获取admin的cookie 使用admin cookie访问 /flag 路由获取flag 1.6 Level 25 双面人派对 解题过程 : 下载main文件 使用 upx -d 脱壳 分析发现是minio对象存储服务 找到用户名密码 下载minio客户端: dl.min.io/client/mc/release/ 下载存储文件获取源码 研究发现overseer实现热重载功能 通过 myminio/prodbucket/update 获取源文件 添加webshell,编译后上传到对应位置 更简单的方法:将映射的本地目录 . 改为 / 2. Reverse方向 2.1 Turtle 解题方法 :使用AI工具直接解决 2.2 Delta Erro0000ors 题目来源 :AmateursCTF-Public/2024/rev/flagpatch 知识点 : Windows差异化补丁MSDelta研究 ApplyDeltaB函数分析 差分补丁格式解析: PA30 开头(4字节) 时间信息(8字节) 定位信息(2字节) 校验方式及原数据大小(4或3字节) 校验hash长度(2或0字节) 校验hash值(16/20/0字节) 定位符及加密数据(固定) 校验方式:MD5(0x8003) 漏洞利用:修改校验方式为0x0绕过校验 脚本编写:查看元数据和生成零校验标识 使用 delta_patch 模块直接获取结果 最终flag: b"Seven says you're right!!!!\x00" 2.3 Turtle (详细分析) 解题步骤 : 使用xvolk脱壳 分析发现两次RC4加密: 第一次RC4验证第二次RC4的key 第二次RC4使用第一次输入的key 魔改RC4验证flag 正常RC4,key为 yekyek 第二次魔改RC4做减法 最终flag: hgame{Y0u'r3_re4l1y_g3t_0Ut_of_th3_upX!} 2.4 尊嘟假嘟 解题过程 : 对dex进行解密加载 动态调用 copyDexFromAssets Hook出文件位置 另存解密后的dex文件 逆向分析发现换表base64 RC4加密分析 enc key为点击生成的十二个 0.o 或 o.0 随机组合的36字节字符串 发现dex中encode换表还有一层异或运算 3. Misc方向 3.1 Hakuya Want A Girl Friend 解题步骤 : 正序解压zip文件 倒序处理png图片 zip有密码,通过修改png宽高获取密码 注意:a和g字母顺序问题 flag: hgame{h4kyu4_w4nt_gir1f3nd_+q_931290928} 3.2 Computer cleaner 解题方法 : 分析图片获取部分flag: hgame{y0u_ 访问攻击IP: 121.41.34.25 获取剩余flag部分: hav3_cleaned_th3 完整flag: hgame{y0u_hav3_cleaned_th3_c0mput3r!} 3.3 Level 314 线性走廊中的双生实体 解题方法 : 直接修改pt中 improved_model/code/__torch__.py 源码 将flag输出判断改为永真条件 3.4 Two wires 解题步骤 : 分析Wire部分函数源码(ArduinoCore-avr) 使用sigrok工具查看sr文件,进行I2C解码 loop regen_otp 用于生成HOTP,模 0x000f4240 (即%1000000) 分析I2C通信: i2cOnReceive :接收上位机指令 i2cOnRequest :发送信息(包含HOPT和counter) 内存及逻辑分析(使用ghidra) 解析recv数据获取secret和counter 解析send数据获取HOTP验证数据和计数信息 计算X1和X2值 3.5 Crypto sieve 解题方法 :使用deepseek工具直接解决 flag : hgame{sieve_is_n0t_that_HArd} 4. 关键工具和技术总结 Web方向 : dirsearch目录扫描 CVE漏洞利用(CVE-2024-38475) XSS攻击链构造 Minio对象存储分析 Reverse方向 : UPX脱壳 Windows差分补丁分析 RC4算法分析与魔改 Dex文件动态加载与Hook Misc方向 : 文件格式分析(zip/png) I2C协议分析(sigrok工具) HOTP生成算法 Ghidra逆向分析 通用工具 : deepseek解题工具 xvolk脱壳工具 delta_ patch模块 ghidra逆向工具 sigrok协议分析工具