第三届京麒杯2025热身赛web
字数 1657 2025-08-29 22:41:24

第三届京麒杯2025热身赛Web题目解析与教学文档

1. Eztest题目解析

1.1 题目概述

Eztest是一个基于PHP的RCE(远程代码执行)漏洞题目,通过phpversion()函数暴露了PHP环境信息。

1.2 漏洞利用步骤

  1. 确定RCE点

    • 题目在phpversion()处存在修改痕迹,提示可能存在RCE漏洞
    • 需要采用无参数RCE技术进行利用
  2. 无参RCE技术

    • 使用"赌狗函数"技术,通过函数嵌套构造payload
    • 示例payload:
      print_r(scandir(chr(ord(strrev(crypt(serialize(array(
      
    • 需要多次执行以遍历目录结构
  3. 获取根目录内容

    • 通过上述技术最终可以列出根目录文件
    • 目标是读取/f*文件(可能是flag文件)

1.3 关键技术点

  • 无参数RCE:当无法直接传递参数时,通过函数组合构造payload
  • 常用函数:
    • scandir() - 列出目录内容
    • chr()/ord() - 字符编码转换
    • strrev() - 字符串反转
    • crypt() - 加密函数
    • serialize() - 序列化数据

2. Ezlogin题目解析

2.1 题目概述

Ezlogin是一个Java反序列化漏洞题目,涉及Spring Actuator未授权访问和heapdump泄露。

2.2 漏洞利用步骤

  1. 信息收集

    • 使用扫描工具发现/actuator/heapdump端点
    • 通过未授权访问下载heapdump文件
  2. heapdump分析

    • 需要Java 8环境(新版Java可能缺少必要组件)
    • 使用工具heapdump_tool分析heapdump文件:
      • 项目地址:https://github.com/wyzxxz/heapdump_tool
    • 从heapdump中提取Shiro的加密密钥
  3. Shiro反序列化攻击

    • 使用ShiroAttack2工具进行攻击:
      • 项目地址:https://gitcode.com/gh_mirrors/sh/ShiroAttack2
    • 攻击步骤:
      1. 检测当前使用的密钥
      2. 爆破可用的利用链
      3. 测试回显情况
      4. 最终执行命令cat /f*获取flag

2.3 关键技术点

  • Spring Actuator未授权访问

    • Actuator是Spring Boot的监控端点
    • 未配置安全控制时可能导致敏感信息泄露
    • 重点检查/actuator/heapdump端点
  • heapdump分析

    • heapdump包含内存中的对象信息
    • 可能泄露加密密钥、敏感数据等
    • 需要特定工具解析(如heapdump_tool)
  • Shiro反序列化

    • Apache Shiro框架的反序列化漏洞
    • 需要获取加密密钥(通常为硬编码或泄露的密钥)
    • 使用工具自动化检测和利用

3. 工具使用指南

3.1 heapdump_tool使用

  1. 环境要求:Java 8
  2. 基本命令:
    java -jar heapdump_tool.jar <heapdump文件>
    
  3. 查找Shiro密钥:
    • 工具会自动分析内存中的密钥信息
    • 重点关注org.apache.shiro相关类

3.2 ShiroAttack2使用

  1. 环境要求:Java 8
  2. 基本流程:
    java -jar ShiroAttack2.jar -u <目标URL> -k <密钥>
    
  3. 主要功能:
    • 密钥检测
    • 利用链爆破
    • 回显检测
    • 命令执行

4. 防御建议

4.1 针对Eztest漏洞

  • 禁用危险函数或严格过滤输入
  • 使用最新PHP版本并及时更新
  • 限制文件系统访问权限

4.2 针对Ezlogin漏洞

  • 为Spring Actuator配置适当的安全控制
  • 定期更换Shiro加密密钥
  • 使用最新版本的Shiro框架
  • 禁用不必要的Actuator端点

5. 扩展学习资源

  • Spring Actuator安全配置:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html
  • Shiro安全最佳实践:https://shiro.apache.org/security-reports.html
  • Java反序列化漏洞原理:https://xz.aliyun.com/news/9218
第三届京麒杯2025热身赛Web题目解析与教学文档 1. Eztest题目解析 1.1 题目概述 Eztest是一个基于PHP的RCE(远程代码执行)漏洞题目,通过phpversion()函数暴露了PHP环境信息。 1.2 漏洞利用步骤 确定RCE点 : 题目在 phpversion() 处存在修改痕迹,提示可能存在RCE漏洞 需要采用无参数RCE技术进行利用 无参RCE技术 : 使用"赌狗函数"技术,通过函数嵌套构造payload 示例payload: 需要多次执行以遍历目录结构 获取根目录内容 : 通过上述技术最终可以列出根目录文件 目标是读取 /f* 文件(可能是flag文件) 1.3 关键技术点 无参数RCE:当无法直接传递参数时,通过函数组合构造payload 常用函数: scandir() - 列出目录内容 chr() / ord() - 字符编码转换 strrev() - 字符串反转 crypt() - 加密函数 serialize() - 序列化数据 2. Ezlogin题目解析 2.1 题目概述 Ezlogin是一个Java反序列化漏洞题目,涉及Spring Actuator未授权访问和heapdump泄露。 2.2 漏洞利用步骤 信息收集 : 使用扫描工具发现 /actuator/heapdump 端点 通过未授权访问下载heapdump文件 heapdump分析 : 需要Java 8环境(新版Java可能缺少必要组件) 使用工具 heapdump_tool 分析heapdump文件: 项目地址:https://github.com/wyzxxz/heapdump_ tool 从heapdump中提取Shiro的加密密钥 Shiro反序列化攻击 : 使用ShiroAttack2工具进行攻击: 项目地址:https://gitcode.com/gh_ mirrors/sh/ShiroAttack2 攻击步骤: 检测当前使用的密钥 爆破可用的利用链 测试回显情况 最终执行命令 cat /f* 获取flag 2.3 关键技术点 Spring Actuator未授权访问 : Actuator是Spring Boot的监控端点 未配置安全控制时可能导致敏感信息泄露 重点检查 /actuator/heapdump 端点 heapdump分析 : heapdump包含内存中的对象信息 可能泄露加密密钥、敏感数据等 需要特定工具解析(如heapdump_ tool) Shiro反序列化 : Apache Shiro框架的反序列化漏洞 需要获取加密密钥(通常为硬编码或泄露的密钥) 使用工具自动化检测和利用 3. 工具使用指南 3.1 heapdump_ tool使用 环境要求:Java 8 基本命令: 查找Shiro密钥: 工具会自动分析内存中的密钥信息 重点关注 org.apache.shiro 相关类 3.2 ShiroAttack2使用 环境要求:Java 8 基本流程: 主要功能: 密钥检测 利用链爆破 回显检测 命令执行 4. 防御建议 4.1 针对Eztest漏洞 禁用危险函数或严格过滤输入 使用最新PHP版本并及时更新 限制文件系统访问权限 4.2 针对Ezlogin漏洞 为Spring Actuator配置适当的安全控制 定期更换Shiro加密密钥 使用最新版本的Shiro框架 禁用不必要的Actuator端点 5. 扩展学习资源 Spring Actuator安全配置:https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html Shiro安全最佳实践:https://shiro.apache.org/security-reports.html Java反序列化漏洞原理:https://xz.aliyun.com/news/9218