第十届上海市大学生网络安全大赛 暨“磐石行动”2025第三届全国高校网络安全攻防活动
字数 2791 2025-09-01 11:25:54

第十届上海市大学生网络安全大赛暨"磐石行动"2025教学文档

目录

  1. Crypto
  2. Misc
  3. 数据安全
  4. Web
  5. Pwn
  6. Re

Crypto

AES_GCM_IV_Reuse

知识点:

  • AES-GCM模式IV重用漏洞
  • GCM模式认证机制

解题步骤:

  1. 识别IV重用情况
  2. 利用GCM模式数学特性进行攻击
  3. 构造有效密文

EXP关键点:

  • 需要收集多个使用相同IV加密的密文
  • 利用异或性质恢复明文

rsa-dl_leak

知识点:

  • RSA私钥d高位泄露攻击
  • Coppersmith方法

解题步骤:

  1. 分析给出的d高位信息
  2. 构建多项式方程
  3. 使用Coppersmith方法求解低位部分

EXP关键点:

# 示例代码框架
n = ... # 模数
e = ... # 公钥
partial_d = ... # d的高位
kbits = ... # 未知的位数

# 构建多项式
P.<x> = PolynomialRing(Zmod(n))
f = e * (partial_d + x) - 1
# 使用small_roots方法求解

多重Caesar密码

知识点:

  • 多重位移Caesar密码
  • 频率分析

解题步骤:

  1. 识别多重位移模式
  2. 尝试不同位移组合
  3. 验证解密结果

Flag:
flag{easy_caesar_with_multiple_shifts_2025}

Misc

derderjia

解题步骤:

  1. 分析TLS加密流量
  2. 提取TLS解密日志
  3. 导入Wireshark解密
  4. 发现并提取Base64编码数据
  5. 解码得到密码PanShi2025!
  6. 修复图片尺寸获取flag

easy_misc

解题步骤:

  1. 分析二维码图片
  2. 使用010 Editor发现隐藏压缩包
  3. 提取并解压
  4. 解码Ook!语言
  5. 获得压缩包密码
  6. 解压得到flag

Flag:
flag{3088eb0b-6e6b-11ed-9a10-145afc243ea2}

ModelUnguilty

知识点:

  • 文本分类模型训练
  • min_df参数理解
  • 模型过拟合技巧

解题步骤:

  1. 理解min_df=10的含义(词项至少在10个文档中出现)
  2. 在验证数据中寻找含"secret"和"instruction"的样本
  3. Base64解码找到真实secret
  4. 将该样本复制多次加入训练集并标记为"not"
  5. 强制模型过拟合记住该模式
  6. 在测试集中应用相同样本

两个数

解题步骤:

  1. 解析chal1.txt内容
  2. 编写脚本处理得到第一层密码:
    C0ngr4tu1ation!!Y0u_hav3_passed_th3_first_l3ve1!!
  3. 解压level_2.zip
  4. 处理chal2.txt二进制数据,反转后解密得到第二层密码:
    y0U_hav3_arriv3_th3_sec0nd_1evel!!!!!
  5. 第三层使用格雷码转二进制
  6. 第四层将01字符串转为二维码扫码得到密码:
    y0u_g3t_th3_l4st_1ev3llllll!!!!!
  7. 解码文件夹结构中的二进制数据

Flag:
flag{92e321a1-43a7-2661-afe4-816521b782f3}

数据安全

AES_Custom_Padding

知识点:

  • AES-CBC模式解密
  • 自定义填充方案

解题步骤:

  1. 获取给定的密钥和IV
  2. 实现AES-128-CBC解密
  3. 处理自定义填充

DB_Log

解题步骤:

  1. 分析违规记录格式
  2. 删除所有3开头的记录
  3. 按格式输出剩余记录

Flag:
flag{1ff4054d20e07b42411bded1d6d895cf}

ACL_Allow_Count

知识点:

  • 访问控制列表(ACL)分析
  • 流量匹配规则

解题步骤:

  1. 解析ACL规则
  2. 按顺序匹配流量条目
  3. 统计符合allow规则的流量数

SQLi_Detection

知识点:

  • SQL注入特征检测
  • 正则表达式匹配

解题步骤:

  1. 编写脚本检测常见SQL注入模式
  2. 包括union select、sleep()、注释符等特征

Brute_Force_Detection

知识点:

  • 暴力破解模式识别
  • 时间窗口分析

解题步骤:

  1. 解析日志提取时间、结果、用户名和IP
  2. 维护每个IP的最近尝试记录
  3. 检测5次失败后成功的模式
  4. 检查10分钟内同一用户的尝试
  5. 排序并输出符合条件的IP

JWT_Weak_Secret

知识点:

  • JWT安全分析
  • HS256弱密钥破解
  • RS256公钥验证

解题步骤:

  1. 解析每个JWT的头部算法
  2. 对HS256使用字典暴力破解
  3. 对RS256使用公钥验证
  4. 检查payload中的admin权限
  5. 记录符合条件的令牌序号

Web

ezDecryption

解题步骤:

  1. 注意提示"2025"
  2. 找到验证接口
  3. 跳过第二步骤直接获取flag

Pwn

user

知识点:

  • 数组越界漏洞
  • libc利用
  • FSOP(File Structure Oriented Programming)

解题步骤:

  1. 利用数组越界修改stdout结构体
  2. 泄露libc地址
  3. 修改__free_hook为system

account

知识点:

  • 格式化字符串漏洞
  • ret2libc攻击

解题步骤:

  1. 利用scanf越界写入
  2. 构造ROP链
  3. 注意数据发送格式

Re

My-key

知识点:

  • TEA加密算法
  • Base64编码
  • 调试技巧

解题步骤:

  1. 查壳确认无保护
  2. IDA反编译分析
  3. 下断点调试
  4. 验证7z解压得到的key
  5. 分析自定义TEA加密
  6. Base64解密最终密文

关键数据:

  • 加密密钥: WcE4Bbm4kHYQsAcX
  • 最终密文: RKCTaz+fty1J2qsz4DI6t9bmMiLBxqFrpI70fU4IMemczIlM+z1IoVQobIt1MbXF

ezre

知识点:

  • RC4算法
  • 魔改加密算法
  • 数据提取

解题步骤:

  1. 查壳确认无保护
  2. IDA反编译分析
  3. 识别RC4魔改部分
  4. 提取比对数据
  5. 分析魔改RC4算法:
    • KSA: 标准256轮Sbox初始化
    • PRGA: c = ROL(z + (p ⊕ ks)), 其中z = (i1 * i2) mod 16
    • c[0] = c′[0] ^ 0x42

关键数据:

  • 输入key: CBAZYX

cookie

知识点:

  • 花指令处理
  • TEA加密算法
  • 反调试技巧

解题步骤:

  1. 识别并NOP掉花指令(如0xE1)
  2. 重构函数分析
  3. 识别标准TEA加密
  4. 编写解密脚本

Flag:
flag{b3d06a66f8aa86e3e6390f615e389e55}

第十届上海市大学生网络安全大赛暨"磐石行动"2025教学文档 目录 Crypto AES_ GCM_ IV_ Reuse rsa-dl_ leak 多重Caesar密码 Misc derderjia easy_ misc ModelUnguilty 两个数 数据安全 AES_ Custom_ Padding DB_ Log ACL_ Allow_ Count SQLi_ Detection Brute_ Force_ Detection JWT_ Weak_ Secret Web ezDecryption Pwn user account Re My-key ezre cookie Crypto AES_ GCM_ IV_ Reuse 知识点 : AES-GCM模式IV重用漏洞 GCM模式认证机制 解题步骤 : 识别IV重用情况 利用GCM模式数学特性进行攻击 构造有效密文 EXP关键点 : 需要收集多个使用相同IV加密的密文 利用异或性质恢复明文 rsa-dl_ leak 知识点 : RSA私钥d高位泄露攻击 Coppersmith方法 解题步骤 : 分析给出的d高位信息 构建多项式方程 使用Coppersmith方法求解低位部分 EXP关键点 : 多重Caesar密码 知识点 : 多重位移Caesar密码 频率分析 解题步骤 : 识别多重位移模式 尝试不同位移组合 验证解密结果 Flag : flag{easy_caesar_with_multiple_shifts_2025} Misc derderjia 解题步骤 : 分析TLS加密流量 提取TLS解密日志 导入Wireshark解密 发现并提取Base64编码数据 解码得到密码 PanShi2025! 修复图片尺寸获取flag easy_ misc 解题步骤 : 分析二维码图片 使用010 Editor发现隐藏压缩包 提取并解压 解码Ook !语言 获得压缩包密码 解压得到flag Flag : flag{3088eb0b-6e6b-11ed-9a10-145afc243ea2} ModelUnguilty 知识点 : 文本分类模型训练 min_ df参数理解 模型过拟合技巧 解题步骤 : 理解min_ df=10的含义(词项至少在10个文档中出现) 在验证数据中寻找含"secret"和"instruction"的样本 Base64解码找到真实secret 将该样本复制多次加入训练集并标记为"not" 强制模型过拟合记住该模式 在测试集中应用相同样本 两个数 解题步骤 : 解析chal1.txt内容 编写脚本处理得到第一层密码: C0ngr4tu1ation!!Y0u_hav3_passed_th3_first_l3ve1!! 解压level_ 2.zip 处理chal2.txt二进制数据,反转后解密得到第二层密码: y0U_hav3_arriv3_th3_sec0nd_1evel!!!!! 第三层使用格雷码转二进制 第四层将01字符串转为二维码扫码得到密码: y0u_g3t_th3_l4st_1ev3llllll!!!!! 解码文件夹结构中的二进制数据 Flag : flag{92e321a1-43a7-2661-afe4-816521b782f3} 数据安全 AES_ Custom_ Padding 知识点 : AES-CBC模式解密 自定义填充方案 解题步骤 : 获取给定的密钥和IV 实现AES-128-CBC解密 处理自定义填充 DB_ Log 解题步骤 : 分析违规记录格式 删除所有3开头的记录 按格式输出剩余记录 Flag : flag{1ff4054d20e07b42411bded1d6d895cf} ACL_ Allow_ Count 知识点 : 访问控制列表(ACL)分析 流量匹配规则 解题步骤 : 解析ACL规则 按顺序匹配流量条目 统计符合allow规则的流量数 SQLi_ Detection 知识点 : SQL注入特征检测 正则表达式匹配 解题步骤 : 编写脚本检测常见SQL注入模式 包括union select、sleep()、注释符等特征 Brute_ Force_ Detection 知识点 : 暴力破解模式识别 时间窗口分析 解题步骤 : 解析日志提取时间、结果、用户名和IP 维护每个IP的最近尝试记录 检测5次失败后成功的模式 检查10分钟内同一用户的尝试 排序并输出符合条件的IP JWT_ Weak_ Secret 知识点 : JWT安全分析 HS256弱密钥破解 RS256公钥验证 解题步骤 : 解析每个JWT的头部算法 对HS256使用字典暴力破解 对RS256使用公钥验证 检查payload中的admin权限 记录符合条件的令牌序号 Web ezDecryption 解题步骤 : 注意提示"2025" 找到验证接口 跳过第二步骤直接获取flag Pwn user 知识点 : 数组越界漏洞 libc利用 FSOP(File Structure Oriented Programming) 解题步骤 : 利用数组越界修改stdout结构体 泄露libc地址 修改__ free_ hook为system account 知识点 : 格式化字符串漏洞 ret2libc攻击 解题步骤 : 利用scanf越界写入 构造ROP链 注意数据发送格式 Re My-key 知识点 : TEA加密算法 Base64编码 调试技巧 解题步骤 : 查壳确认无保护 IDA反编译分析 下断点调试 验证7z解压得到的key 分析自定义TEA加密 Base64解密最终密文 关键数据 : 加密密钥: WcE4Bbm4kHYQsAcX 最终密文: RKCTaz+fty1J2qsz4DI6t9bmMiLBxqFrpI70fU4IMemczIlM+z1IoVQobIt1MbXF ezre 知识点 : RC4算法 魔改加密算法 数据提取 解题步骤 : 查壳确认无保护 IDA反编译分析 识别RC4魔改部分 提取比对数据 分析魔改RC4算法: KSA: 标准256轮Sbox初始化 PRGA: c = ROL(z + (p ⊕ ks)) , 其中 z = (i1 * i2) mod 16 c[0] = c′[0] ^ 0x42 关键数据 : 输入key: CBAZYX cookie 知识点 : 花指令处理 TEA加密算法 反调试技巧 解题步骤 : 识别并NOP掉花指令(如0xE1) 重构函数分析 识别标准TEA加密 编写解密脚本 Flag : flag{b3d06a66f8aa86e3e6390f615e389e55}