2025安徽省网络分布式大赛——漏洞挖掘与防范(高职组)初赛WP
字数 1191 2025-08-30 06:50:35
安徽省网络分布式大赛——漏洞挖掘与防范(高职组)初赛Writeup解析
1. F4+1 (杂项题)
解题步骤
- 图片属性分析:题目提示"打开图片属性",应右键查看图片属性或使用
exiftool工具检查元数据 - 密码提示:在属性中发现密码
123456 - F5隐写:使用F5隐写工具提取隐藏信息
- 命令示例:
java -jar F5.jar extract -p 123456 -e flag.jpg
- 命令示例:
获取flag
flag{a8b2cad0-0786-4a96-ae1a-1d60e3d2cf5e}
关键知识点
- 图片元数据分析
- F5隐写工具使用
- 密码保护隐写提取
2. disk-dump (杂项题)
解题步骤
- 挂载镜像:使用工具挂载磁盘镜像文件
mount -o loop disk_dump /mnt/disk
- 文件恢复:使用
extundelete工具恢复被删除文件extundelete disk_dump --restore-all
- 查找flag:在恢复的文件中搜索flag
获取flag
flag{Good_hacker}
关键知识点
- 磁盘镜像挂载
- 文件恢复技术
- extundelete工具使用
3. 有点复杂的AES (密码题)
解题步骤
- 识别加密方式:题目提示"AES+XOR"组合加密
- 分析加密流程:
- 先进行AES加密
- 再进行XOR异或操作
- 解密脚本:
from Crypto.Cipher import AES import binascii # 假设已知key和iv key = b'...' iv = b'...' cipher = AES.new(key, AES.MODE_CBC, iv) # 解密AES decrypted = cipher.decrypt(encrypted_data) # XOR解密 xor_key = b'...' plaintext = bytes([decrypted[i] ^ xor_key[i%len(xor_key)] for i in range(len(decrypted))])
关键知识点
- AES加密原理
- XOR加密特性
- 组合加密解密方法
4. JustMath (密码题)
解题步骤
- 题目分析:附件给出数学问题,涉及最大公约数(GCD)计算
- 解题方法:
- 使用数学库计算GCD
- 编写脚本读取并处理附件数据
import math from Crypto.Util.number import long_to_bytes # 假设给出的是两个大数 a = ... b = ... gcd = math.gcd(a, b) flag = long_to_bytes(gcd)
关键知识点
- 大数运算
- GCD算法
- 数字与字节转换
5. SageMath (密码题)
解题步骤
- 题目分析:需要使用Coppersmith方法解决
- 解题方法:
- 在SageMath环境中使用Coppersmith攻击
# SageMath示例代码 n = ... # 模数 F.<x> = PolynomialRing(Zmod(n)) f = ... # 构造多项式 x0 = f.small_roots(X=..., beta=...)[0] # Coppersmith方法求小根
获取flag
flag{4e5c8922-3b95-9190-1ed6-1198ce4d8064}
关键知识点
- SageMath使用
- Coppersmith方法
- 多项式小根求解
综合技巧总结
-
隐写分析:
- 检查文件属性、元数据
- 尝试常见隐写工具(F5, steghide等)
- 注意密码提示
-
磁盘取证:
- 掌握mount命令使用
- 熟悉文件恢复工具(extundelete, foremost等)
- 了解常见文件系统结构
-
密码分析:
- 识别加密算法特征
- 组合加密的分解处理
- 数学方法在密码分析中的应用
-
工具准备:
- 安装常用工具包(F5-steganography, SageMath等)
- 准备Python密码学库(Crypto, gmpy2等)
- 熟悉Linux基础命令
-
解题思路:
- 仔细阅读题目提示
- 分步骤验证假设
- 善用搜索引擎查找类似解法