2024年春秋杯网络安全联赛冬季赛-Writeup
字数 3478 2025-08-29 08:30:30

2024年春秋杯网络安全联赛冬季赛Writeup教学文档

目录

  1. WEB类题目
  2. MISC类题目
  3. Crypto类题目
  4. PWN类题目

WEB类题目

easy_flask

考察点: SSTI(服务器端模板注入)漏洞

解题步骤:

  1. 发现目标网站使用Flask框架
  2. 测试是否存在SSTI漏洞
  3. 使用Hackbar等工具直接进行SSTI注入
  4. 成功获取flag: flag{48ad0cde8345c8b2608933ac4e85147e}

关键点:

  • Flask框架默认使用Jinja2模板引擎
  • 未经过滤的用户输入可能导致SSTI漏洞
  • 可以直接执行系统命令获取敏感信息

file_copy

考察点: CVE-2024-2961漏洞利用

解题步骤:

  1. 识别目标系统存在CVE-2024-2961漏洞
  2. 使用现成工具synacktiv/php_filter_chains_oracle_exploit
  3. 直接利用工具获取flag: flag{a0bbd862-f9a1-4c0c-bc72-19c242a07113}

关键点:

  • 了解PHP过滤器链漏洞原理
  • 掌握现成漏洞利用工具的使用
  • 关注最新漏洞公告和利用方法

easy_ser

考察点: PHP反序列化漏洞

解题步骤:

  1. 分析源码中的三个WAF过滤规则:
    • PassWAF1: 过滤危险函数
    • PassWAF2: 按16字符分割字符串(str_split($str, 16))
    • PassWAF3: 检查路径穿越符号(../)
  2. 构造POP链: wakeup->invoke->tostring
  3. 执行代码并访问生成的文件
  4. 获取flag: flag{f44ab7d7195a1f156aa2fbc1ceba61ec}

关键点:

  • 理解PHP反序列化漏洞原理
  • 绕过WAF的分割限制(构造不超过16字符的payload)
  • 掌握POP链构造技巧

easy_php

考察点: 文件读取漏洞

解题步骤:

  1. 审计源码发现file.php存在文件读取功能
  2. 分析show函数发现过滤不完善
  3. 直接读取flag文件(未过滤/flag路径)
  4. 获取flag: flag{a16dcb7549915546893a27a6d7927615}

关键点:

  • 文件读取漏洞的发现
  • 过滤规则的绕过
  • 敏感文件路径的猜测

easy_code

考察点: PHP科学计数法绕过+文件读取

解题步骤:

  1. 通过目录扫描发现robots.txt,获取路由/gogogo.php
  2. 分析代码发现前三个if可以使用科学计数法加四舍五入绕过
  3. 构造溢出payload
  4. 使用php://filter配合convert.iconv修改字符集绕过过滤
  5. 设置cookie: pass=admin
  6. 成功读取read.php获取flag: flag{d91ea23e927b0e2dca64624cf4c867ca}

关键点:

  • PHP科学计数法的利用
  • convert.iconv字符集转换的利用
  • 完整攻击链的构造

MISC类题目

See anything in these pics?

考察点: Aztec码识别+图片隐写

解题步骤:

  1. 根据图片名提示识别Aztec码
  2. 在线解码获取密码: 5FIVE
  3. 解压图片后使用随波逐流工具分析
  4. 发现隐藏文件并提取
  5. 爆破宽高后直接获取flag: flag{opium_00pium}

关键点:

  • Aztec码的识别与解码
  • 图片隐写分析工具的使用
  • 宽高爆破技巧

简单镜像提取

考察点: 流量分析+文件提取

解题步骤:

  1. 使用binwalk从流量包中提取镜像文件
  2. 直接以文本方式打开文件查找flag
  3. 获取flag: flag{E7A10C15E26AA5750070EF756AAA1F7C}

关键点:

  • binwalk工具的使用
  • 文件格式识别
  • 快速查找flag的技巧

压力大,写个脚本吧

考察点: 套娃解密+自动化脚本

解题步骤:

  1. 分析发现套娃解密结构
  2. 编写自动化脚本处理:
    • 根据当前目录下txt文件base解密获取密码
    • 使用密码进行下一轮解密
  3. 收集所有密码合并分析
  4. 发现图片头,调整得到二维码
  5. 扫码获取flag: flag{ PASSWORDs_is_fl@g! }

关键点:

  • 自动化脚本编写能力
  • 文件格式识别
  • 数据处理与分析

简单算术

考察点: XOR暴力破解

解题步骤:

  1. 根据题目提示直接尝试XOR操作
  2. 使用暴力破解方法
  3. 成功获取flag: flag{x0r_Brute_is_easy!}

关键点:

  • XOR加密原理
  • 暴力破解技巧
  • 简单加密的识别

Weevil's Whisper

考察点: 流量分析+Webshell解密

解题步骤:

  1. 分析流量包发现Webshell通信
  2. 提取加密的Webshell流量
  3. 编写解密脚本还原命令执行结果
  4. 获取flag: flag{arsjxh-sjhxbr-3rdd78dfsh-3ndidjl}

关键点:

  • Webshell流量的识别
  • 加密通信的解密
  • 自定义脚本编写能力

find me

考察点: Minecraft地图分析+压缩包密码爆破

解题步骤:

  1. 将附件导入Minecraft save文件夹
  2. 在游戏中探索找到key: cwqeafvfwqead
  3. 使用key解密flag.rar获取1.txt
  4. 使用随波逐流工具分析获取flag: flag{535e0a20-189e-4049-ab30-dec60bac91b8}

关键点:

  • Minecraft地图分析
  • 游戏内隐藏信息的寻找
  • 文件隐写分析

NetHttP

考察点: HTTP流量分析+Base64解码+私钥解密

解题步骤:

  1. 分析HTTP流量,在流1获取key: gdkfksy05lx0nv8dl
  2. 在流13获取私钥数据
  3. 提取盲注结果并清理无关数据
  4. 使用key解密Base64编码的私钥
  5. 在线解密获取flag: flag{343907d2-35a3-4bfe-a5e1-5d6615157851}

关键点:

  • HTTP流量的深入分析
  • 加密私钥的解密
  • 数据清理与提取

音频的秘密

考察点: 弱密码破解+明文攻击+图片隐写

解题步骤:

  1. 猜测弱密码为123解压文件
  2. 对flag.zip进行明文爆破获取key
  3. 提取隐藏图片
  4. 使用zsteg工具获取flag: flag{Y1_Shun_jian_Fa_ZE_Dian_Fu}

关键点:

  • 弱密码的猜测
  • ZIP明文攻击
  • zsteg工具的使用

Crypto类题目

通往哈希的旅程

考察点: SHA1哈希爆破

解题步骤:

  1. 识别哈希值ca12fd8250972ec363a16593356abb1f3cf3a16d为SHA1
  2. 根据提示格式(188开头11位数字)使用hashcat爆破
  3. 成功获取电话号码: 18876011645
  4. flag格式为电话号码本身

关键点:

  • SHA1哈希识别
  • 针对性爆破策略
  • hashcat工具的使用

你是小哈斯?

考察点: 哈希批量破解

解题步骤:

  1. 分析提供的txt文本(全是哈希值)
  2. 使用工具批量破解哈希
  3. 从破解结果中提取flag: flag{game_cqb_isis_cxyz}

关键点:

  • 批量哈希破解
  • 结果分析与提取
  • 自动化处理能力

PWN类题目

riya

考察点: 简单栈溢出+后门函数利用

解题步骤:

  1. 使用IDA分析二进制文件
  2. 在main函数发现输入参数'n'会调用sub_D74()
  3. sub_D74()函数直接返回/bin/sh shell
  4. 连接NC服务输入'n'获取shell
  5. 读取flag: flag{eab82f15-bde8-47cb-8c3c-71ec727dd8e0}

关键点:

  • 二进制文件分析
  • 后门函数的识别
  • 简单交互利用

总结

本比赛涵盖了WEB、MISC、Crypto和PWN等多个安全领域,考察了选手在漏洞发现、利用、代码审计、流量分析、加密解密等方面的综合能力。通过本次比赛,可以学习到多种实用的安全技术和工具使用方法。

2024年春秋杯网络安全联赛冬季赛Writeup教学文档 目录 WEB类题目 easy_ flask file_ copy easy_ ser easy_ php easy_ code MISC类题目 See anything in these pics? 简单镜像提取 压力大,写个脚本吧 简单算术 Weevil's Whisper find me NetHttP 音频的秘密 Crypto类题目 通往哈希的旅程 你是小哈斯? PWN类题目 riya WEB类题目 easy_ flask 考察点 : SSTI(服务器端模板注入)漏洞 解题步骤 : 发现目标网站使用Flask框架 测试是否存在SSTI漏洞 使用Hackbar等工具直接进行SSTI注入 成功获取flag: flag{48ad0cde8345c8b2608933ac4e85147e} 关键点 : Flask框架默认使用Jinja2模板引擎 未经过滤的用户输入可能导致SSTI漏洞 可以直接执行系统命令获取敏感信息 file_ copy 考察点 : CVE-2024-2961漏洞利用 解题步骤 : 识别目标系统存在CVE-2024-2961漏洞 使用现成工具 synacktiv/php_ filter_ chains_ oracle_ exploit 直接利用工具获取flag: flag{a0bbd862-f9a1-4c0c-bc72-19c242a07113} 关键点 : 了解PHP过滤器链漏洞原理 掌握现成漏洞利用工具的使用 关注最新漏洞公告和利用方法 easy_ ser 考察点 : PHP反序列化漏洞 解题步骤 : 分析源码中的三个WAF过滤规则: PassWAF1: 过滤危险函数 PassWAF2: 按16字符分割字符串(str_ split($str, 16)) PassWAF3: 检查路径穿越符号(../) 构造POP链: wakeup->invoke->tostring 执行代码并访问生成的文件 获取flag: flag{f44ab7d7195a1f156aa2fbc1ceba61ec} 关键点 : 理解PHP反序列化漏洞原理 绕过WAF的分割限制(构造不超过16字符的payload) 掌握POP链构造技巧 easy_ php 考察点 : 文件读取漏洞 解题步骤 : 审计源码发现file.php存在文件读取功能 分析show函数发现过滤不完善 直接读取flag文件(未过滤/flag路径) 获取flag: flag{a16dcb7549915546893a27a6d7927615} 关键点 : 文件读取漏洞的发现 过滤规则的绕过 敏感文件路径的猜测 easy_ code 考察点 : PHP科学计数法绕过+文件读取 解题步骤 : 通过目录扫描发现robots.txt,获取路由/gogogo.php 分析代码发现前三个if可以使用科学计数法加四舍五入绕过 构造溢出payload 使用php://filter配合convert.iconv修改字符集绕过过滤 设置cookie: pass=admin 成功读取read.php获取flag: flag{d91ea23e927b0e2dca64624cf4c867ca} 关键点 : PHP科学计数法的利用 convert.iconv字符集转换的利用 完整攻击链的构造 MISC类题目 See anything in these pics? 考察点 : Aztec码识别+图片隐写 解题步骤 : 根据图片名提示识别Aztec码 在线解码获取密码: 5FIVE 解压图片后使用随波逐流工具分析 发现隐藏文件并提取 爆破宽高后直接获取flag: flag{opium_00pium} 关键点 : Aztec码的识别与解码 图片隐写分析工具的使用 宽高爆破技巧 简单镜像提取 考察点 : 流量分析+文件提取 解题步骤 : 使用binwalk从流量包中提取镜像文件 直接以文本方式打开文件查找flag 获取flag: flag{E7A10C15E26AA5750070EF756AAA1F7C} 关键点 : binwalk工具的使用 文件格式识别 快速查找flag的技巧 压力大,写个脚本吧 考察点 : 套娃解密+自动化脚本 解题步骤 : 分析发现套娃解密结构 编写自动化脚本处理: 根据当前目录下txt文件base解密获取密码 使用密码进行下一轮解密 收集所有密码合并分析 发现图片头,调整得到二维码 扫码获取flag: flag{ PASSWORDs_is_fl@g! } 关键点 : 自动化脚本编写能力 文件格式识别 数据处理与分析 简单算术 考察点 : XOR暴力破解 解题步骤 : 根据题目提示直接尝试XOR操作 使用暴力破解方法 成功获取flag: flag{x0r_Brute_is_easy!} 关键点 : XOR加密原理 暴力破解技巧 简单加密的识别 Weevil's Whisper 考察点 : 流量分析+Webshell解密 解题步骤 : 分析流量包发现Webshell通信 提取加密的Webshell流量 编写解密脚本还原命令执行结果 获取flag: flag{arsjxh-sjhxbr-3rdd78dfsh-3ndidjl} 关键点 : Webshell流量的识别 加密通信的解密 自定义脚本编写能力 find me 考察点 : Minecraft地图分析+压缩包密码爆破 解题步骤 : 将附件导入Minecraft save文件夹 在游戏中探索找到key: cwqeafvfwqead 使用key解密flag.rar获取1.txt 使用随波逐流工具分析获取flag: flag{535e0a20-189e-4049-ab30-dec60bac91b8} 关键点 : Minecraft地图分析 游戏内隐藏信息的寻找 文件隐写分析 NetHttP 考察点 : HTTP流量分析+Base64解码+私钥解密 解题步骤 : 分析HTTP流量,在流1获取key: gdkfksy05lx0nv8dl 在流13获取私钥数据 提取盲注结果并清理无关数据 使用key解密Base64编码的私钥 在线解密获取flag: flag{343907d2-35a3-4bfe-a5e1-5d6615157851} 关键点 : HTTP流量的深入分析 加密私钥的解密 数据清理与提取 音频的秘密 考察点 : 弱密码破解+明文攻击+图片隐写 解题步骤 : 猜测弱密码为 123 解压文件 对flag.zip进行明文爆破获取key 提取隐藏图片 使用zsteg工具获取flag: flag{Y1_Shun_jian_Fa_ZE_Dian_Fu} 关键点 : 弱密码的猜测 ZIP明文攻击 zsteg工具的使用 Crypto类题目 通往哈希的旅程 考察点 : SHA1哈希爆破 解题步骤 : 识别哈希值 ca12fd8250972ec363a16593356abb1f3cf3a16d 为SHA1 根据提示格式(188开头11位数字)使用hashcat爆破 成功获取电话号码: 18876011645 flag格式为电话号码本身 关键点 : SHA1哈希识别 针对性爆破策略 hashcat工具的使用 你是小哈斯? 考察点 : 哈希批量破解 解题步骤 : 分析提供的txt文本(全是哈希值) 使用工具批量破解哈希 从破解结果中提取flag: flag{game_cqb_isis_cxyz} 关键点 : 批量哈希破解 结果分析与提取 自动化处理能力 PWN类题目 riya 考察点 : 简单栈溢出+后门函数利用 解题步骤 : 使用IDA分析二进制文件 在main函数发现输入参数'n'会调用sub_ D74() sub_ D74()函数直接返回/bin/sh shell 连接NC服务输入'n'获取shell 读取flag: flag{eab82f15-bde8-47cb-8c3c-71ec727dd8e0} 关键点 : 二进制文件分析 后门函数的识别 简单交互利用 总结 本比赛涵盖了WEB、MISC、Crypto和PWN等多个安全领域,考察了选手在漏洞发现、利用、代码审计、流量分析、加密解密等方面的综合能力。通过本次比赛,可以学习到多种实用的安全技术和工具使用方法。