2024年春秋杯网络安全联赛冬季赛-Writeup
字数 3478 2025-08-29 08:30:30
2024年春秋杯网络安全联赛冬季赛Writeup教学文档
目录
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等多个安全领域,考察了选手在漏洞发现、利用、代码审计、流量分析、加密解密等方面的综合能力。通过本次比赛,可以学习到多种实用的安全技术和工具使用方法。