2024金盾信安杯线下赛数据安全部分WP
字数 1618 2025-08-22 12:22:15
金盾信安杯线下赛数据安全部分解题教学文档
1. 高频访问识别分析
题目概述
- 目标:找出被高频访问的页面IP和泄露的数据库密码
- 提交格式:flag{md5(IP+密码)}
解题步骤
-
流量分析
- 使用Wireshark打开流量包
- 过滤HTTP流量,发现大量访问
i.php的请求
-
识别关键页面
i.php是一个MySQL登录界面- 密码使用AES加密传输
-
确定攻击IP
- 通过分析登录失败信息,确定高频访问IP为
193.168.0.133
- 通过分析登录失败信息,确定高频访问IP为
-
获取密码
- 过滤成功登录的数据包:
http.request.uri contains "i.php" and http.response and not frame contains "denied" - 从成功登录的数据包中获取加密密码
- 过滤成功登录的数据包:
-
密码解密
- 使用以下Python脚本解密AES加密的密码:
from Crypto.Cipher import AES from Crypto.Util.Padding import unpad from Crypto.Hash import SHA256 import binascii def decrypt_password(encrypted_password): key = binascii.unhexlify('05df244d45e1b157100baccff7fadae5') iv = binascii.unhexlify('1158aa515ed5b2c9e3409181c27cce78') encrypted_password_bytes = binascii.a2b_base64(encrypted_password) cipher = AES.new(key, AES.MODE_CBC, iv) decrypted = unpad(cipher.decrypt(encrypted_password_bytes), AES.block_size) return decrypted.decode('utf-8') encrypted_password = "cOMb/w12MUUCZQdVdB1cXQ==" decrypted_password = decrypt_password(encrypted_password) print(f"解密后的密码: {decrypted_password}") - 解密得到密码:
aaa111...
- 使用以下Python脚本解密AES加密的密码:
-
生成flag
- 计算
md5(193.168.0.133+aaa111...) - 最终flag:
flag{2d8c55e0c3b7577fb40f1e345628eb85}
- 计算
2. 批量访问识别分析
题目概述
- 目标:找到涉及大量查询的攻击源IP地址
- 提交格式:flag{md5(ip)}
解题步骤
-
流量过滤
- 在Wireshark中使用过滤规则:
mysql.query - 分析查询流量来源
- 在Wireshark中使用过滤规则:
-
确定攻击IP
- 通过分析查询流量,确定攻击源IP为
193.168.0.133
- 通过分析查询流量,确定攻击源IP为
-
生成flag
- 计算
md5(193.168.0.133) - 最终flag:
flag{409fa47b8e075177ad3c16e12877ef0b}
- 计算
3. 数据解析与还原
题目概述
- 目标:识别泄露的敏感个人信息字段名称
- 提交格式:flag{md5(对应序号组合)}
解题步骤
-
分析数据库表
- 重点关注
user和info关键词
- 重点关注
-
fa_user表泄露信息
- 泄露字段:
- 真实姓名 (A)
- 密码 (O)
- 手机号 (B)
- 邮箱 (Q)
- IP地址 (K)
- 住址 (M)
- 生日 (H)
- 身份证 (F)
- 银行账户 (E)
- 泄露字段:
-
fa_info表泄露信息
- 泄露字段:
- 学历 (D)
- 护照 (G)
- 泄露字段:
-
生成flag
- 组合序号:A+B+D+E+F+G+H+K+M+O+Q
- 计算md5值
- 最终flag:
flag{9991d1d88648004883d6e12522e35c14}
4. 加解密识别和分析
题目概述
- 目标:找到泄露的网络拓扑图中的flag
- 提示:重要文件被加密
- 压缩包密码:
ea20f8e5e6bf1105ffeef3d7f300fb84
解题步骤
-
内存取证
- 使用Volatility分析内存镜像
- 获取镜像信息:
vol.py -f .\Mem.raw imageinfo
-
文件扫描
- 扫描内存中的文件:
vol.py -f .\Mem.raw --profile=Win7SP1x64 filescan > files.txt - 发现可疑zip文件
- 扫描内存中的文件:
-
提取文件
- 提取目标文件:
vol.py -f .\Mem.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000013fbf5f20 -D ./output/
- 提取目标文件:
-
分析网络流量
- 导出HTTP对象
- 发现
pass.zip包含盲水印信息
-
盲水印解码
- 使用工具:
python bwmforpy3.py decode 1.png 2.png 3.png - 获取密码:
ffzx1f90
- 使用工具:
-
解压拓扑图
- 使用密码解压zip文件
- 获取flag:
flag{51edaf9b227870c1a274a3d8d3eb8a60}
5. 恶意处理行为分析
题目概述
- 目标:识别恶意进程与外联的恶意IP
- 提交格式:flag{md5(进程名+恶意ip)}
解题步骤
-
网络连接分析
- 使用Volatility的netscan:
vol.py -f .\Mem.raw --profile=Win7SP1x64 netscan
- 使用Volatility的netscan:
-
进程分析
- 发现可疑进程
Mfpmp.exe - 正常路径应为
c:\windows\system32\mfpmp.exe - 实际路径异常
- 发现可疑进程
-
确定恶意IP
- 从网络连接中筛选可疑IP
-
生成flag
- 组合进程名和恶意IP
- 计算md5值
关键工具和技术总结
-
Wireshark过滤技巧
- HTTP过滤:
http.request.uri - MySQL过滤:
mysql.query - 排除特定内容:
not frame contains
- HTTP过滤:
-
AES解密方法
- 需要密钥和IV
- 使用Crypto库进行CBC模式解密
-
Volatility取证技术
- 内存镜像分析
- 文件扫描和提取
- 网络连接分析
-
盲水印技术
- 使用Python工具解码
- 从图像中提取隐藏信息
-
恶意进程识别
- 检查进程路径异常
- 分析网络连接行为