HGAME2025-web超详细全解
字数 1267 2025-08-22 12:23:24

HGAME2025 Web题目全解教学文档

WEB5-38475 角落解题

知识点

  1. CVE-2024-38475 Apache配置不当漏洞
  2. 条件竞争漏洞利用
  3. 文件读写同步问题

解题步骤

  1. 信息收集

    • 通过目录扫描发现robots.txt
    • 从robots.txt获取app.conf配置文件
  2. 利用CVE-2024-38475

    • 根据题目名称和app.conf配置识别漏洞
    • 构造特殊请求读取源代码
  3. 代码审计

    • /send路由:将内容写入message.txt
    • /read路由:读取并渲染message.txt内容
    • 发现WAF过滤了某些字符但无文件锁机制
  4. 条件竞争利用

    • 同时发起写入和读取请求
    • 利用文件读写不同步获取flag

WEB4 双面人派对解题

知识点

  1. Go语言逆向分析
  2. MinIO管理端连接
  3. mc工具使用
  4. Gin框架代码修改

解题步骤

  1. 环境分析

    • 两个靶机:一个web端可访问,一个不可访问
    • 可访问端提供main二进制文件
  2. 逆向分析

    • 使用upx脱壳
    • 使用Ghidra逆向分析
    • 搜索"127.0.0.1"定位关键数据
    • 获取MinIO连接密钥
  3. 连接MinIO

    • 下载mc管理工具
    • 使用获取的密钥连接第二台靶机
  4. 代码修改

    • 分析main函数
    • 添加/cmd路由实现命令执行
    • 重新编译Go程序
    • 上传修改后的程序
  5. 获取flag

    • 访问/cmd路由执行命令读取flag

WEB3 MysteryMessageBoard解题

知识点

  1. 密码爆破
  2. XSS攻击
  3. Session伪造

解题步骤

  1. 密码爆破

    • 爆破shallot密码(成功密码:888888)
  2. XSS利用

    • 登录后使用XSS平台payload
    • 构造恶意提交获取admin session
  3. Session伪造

    • 访问/admin路由模拟admin访问
    • 获取admin的session信息
    • 伪造session读取flag

WEB2 BandBomb解题

知识点

  1. 文件上传漏洞
  2. 目录穿越
  3. EJS模板替换

解题步骤

  1. 代码分析

    • storage和upload函数无严格限制
    • 首页路由渲染uploads目录文件
    • rename路由无newname参数过滤
  2. 攻击步骤

    • 创建恶意.ejs文件(包含读取flag代码)
    • 正常上传文件
    • 使用rename进行目录穿越
    • 替换原始mortis.ejs文件
    • 访问首页触发恶意模板渲染

WEB1 Pacman解题

知识点

  1. 前端调试技巧
  2. Base64解码
  3. 栅栏密码解密

解题步骤

  1. 初步尝试

    • 游戏输后返回假flag
  2. 调试方法

    • 调试器搜索"your gift"定位真flag
    • 或直接修改_SCORE变量值为10000000
  3. 解密过程

    • 对获取的flag进行Base64解码
    • 使用栅栏密码解密(key=2)

总结

本系列题目涵盖了多种Web安全技术:

  • 配置漏洞利用(CVE-2024-38475)
  • 条件竞争漏洞
  • Go语言逆向与修改
  • MinIO管理
  • 密码爆破与XSS攻击
  • Session伪造
  • 文件上传与目录穿越
  • 前端调试与密码学解密

每个题目都展示了不同的攻击面和防御绕过技术,是全面的Web安全实战练习。

HGAME2025 Web题目全解教学文档 WEB5-38475 角落解题 知识点 CVE-2024-38475 Apache配置不当漏洞 条件竞争漏洞利用 文件读写同步问题 解题步骤 信息收集 通过目录扫描发现robots.txt 从robots.txt获取app.conf配置文件 利用CVE-2024-38475 根据题目名称和app.conf配置识别漏洞 构造特殊请求读取源代码 代码审计 /send 路由:将内容写入message.txt /read 路由:读取并渲染message.txt内容 发现WAF过滤了某些字符但无文件锁机制 条件竞争利用 同时发起写入和读取请求 利用文件读写不同步获取flag WEB4 双面人派对解题 知识点 Go语言逆向分析 MinIO管理端连接 mc工具使用 Gin框架代码修改 解题步骤 环境分析 两个靶机:一个web端可访问,一个不可访问 可访问端提供main二进制文件 逆向分析 使用upx脱壳 使用Ghidra逆向分析 搜索"127.0.0.1"定位关键数据 获取MinIO连接密钥 连接MinIO 下载mc管理工具 使用获取的密钥连接第二台靶机 代码修改 分析main函数 添加/cmd路由实现命令执行 重新编译Go程序 上传修改后的程序 获取flag 访问/cmd路由执行命令读取flag WEB3 MysteryMessageBoard解题 知识点 密码爆破 XSS攻击 Session伪造 解题步骤 密码爆破 爆破shallot密码(成功密码:888888) XSS利用 登录后使用XSS平台payload 构造恶意提交获取admin session Session伪造 访问/admin路由模拟admin访问 获取admin的session信息 伪造session读取flag WEB2 BandBomb解题 知识点 文件上传漏洞 目录穿越 EJS模板替换 解题步骤 代码分析 storage和upload函数无严格限制 首页路由渲染uploads目录文件 rename路由无newname参数过滤 攻击步骤 创建恶意.ejs文件(包含读取flag代码) 正常上传文件 使用rename进行目录穿越 替换原始mortis.ejs文件 访问首页触发恶意模板渲染 WEB1 Pacman解题 知识点 前端调试技巧 Base64解码 栅栏密码解密 解题步骤 初步尝试 游戏输后返回假flag 调试方法 调试器搜索"your gift"定位真flag 或直接修改_ SCORE变量值为10000000 解密过程 对获取的flag进行Base64解码 使用栅栏密码解密(key=2) 总结 本系列题目涵盖了多种Web安全技术: 配置漏洞利用(CVE-2024-38475) 条件竞争漏洞 Go语言逆向与修改 MinIO管理 密码爆破与XSS攻击 Session伪造 文件上传与目录穿越 前端调试与密码学解密 每个题目都展示了不同的攻击面和防御绕过技术,是全面的Web安全实战练习。