2024金盾信安杯线下赛数据安全部分WP
字数 1618 2025-08-22 12:22:15

金盾信安杯线下赛数据安全部分解题教学文档

1. 高频访问识别分析

题目概述

  • 目标:找出被高频访问的页面IP和泄露的数据库密码
  • 提交格式:flag{md5(IP+密码)}

解题步骤

  1. 流量分析

    • 使用Wireshark打开流量包
    • 过滤HTTP流量,发现大量访问i.php的请求
  2. 识别关键页面

    • i.php是一个MySQL登录界面
    • 密码使用AES加密传输
  3. 确定攻击IP

    • 通过分析登录失败信息,确定高频访问IP为193.168.0.133
  4. 获取密码

    • 过滤成功登录的数据包:
      http.request.uri contains "i.php" and http.response and not frame contains "denied"
      
    • 从成功登录的数据包中获取加密密码
  5. 密码解密

    • 使用以下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...
  6. 生成flag

    • 计算md5(193.168.0.133+aaa111...)
    • 最终flag:flag{2d8c55e0c3b7577fb40f1e345628eb85}

2. 批量访问识别分析

题目概述

  • 目标:找到涉及大量查询的攻击源IP地址
  • 提交格式:flag{md5(ip)}

解题步骤

  1. 流量过滤

    • 在Wireshark中使用过滤规则:
      mysql.query
      
    • 分析查询流量来源
  2. 确定攻击IP

    • 通过分析查询流量,确定攻击源IP为193.168.0.133
  3. 生成flag

    • 计算md5(193.168.0.133)
    • 最终flag:flag{409fa47b8e075177ad3c16e12877ef0b}

3. 数据解析与还原

题目概述

  • 目标:识别泄露的敏感个人信息字段名称
  • 提交格式:flag{md5(对应序号组合)}

解题步骤

  1. 分析数据库表

    • 重点关注userinfo关键词
  2. fa_user表泄露信息

    • 泄露字段:
      • 真实姓名 (A)
      • 密码 (O)
      • 手机号 (B)
      • 邮箱 (Q)
      • IP地址 (K)
      • 住址 (M)
      • 生日 (H)
      • 身份证 (F)
      • 银行账户 (E)
  3. fa_info表泄露信息

    • 泄露字段:
      • 学历 (D)
      • 护照 (G)
  4. 生成flag

    • 组合序号:A+B+D+E+F+G+H+K+M+O+Q
    • 计算md5值
    • 最终flag:flag{9991d1d88648004883d6e12522e35c14}

4. 加解密识别和分析

题目概述

  • 目标:找到泄露的网络拓扑图中的flag
  • 提示:重要文件被加密
  • 压缩包密码:ea20f8e5e6bf1105ffeef3d7f300fb84

解题步骤

  1. 内存取证

    • 使用Volatility分析内存镜像
    • 获取镜像信息:
      vol.py -f .\Mem.raw imageinfo
      
  2. 文件扫描

    • 扫描内存中的文件:
      vol.py -f .\Mem.raw --profile=Win7SP1x64 filescan > files.txt
      
    • 发现可疑zip文件
  3. 提取文件

    • 提取目标文件:
      vol.py -f .\Mem.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000013fbf5f20 -D ./output/
      
  4. 分析网络流量

    • 导出HTTP对象
    • 发现pass.zip包含盲水印信息
  5. 盲水印解码

    • 使用工具:
      python bwmforpy3.py decode 1.png 2.png 3.png
      
    • 获取密码:ffzx1f90
  6. 解压拓扑图

    • 使用密码解压zip文件
    • 获取flag:flag{51edaf9b227870c1a274a3d8d3eb8a60}

5. 恶意处理行为分析

题目概述

  • 目标:识别恶意进程与外联的恶意IP
  • 提交格式:flag{md5(进程名+恶意ip)}

解题步骤

  1. 网络连接分析

    • 使用Volatility的netscan:
      vol.py -f .\Mem.raw --profile=Win7SP1x64 netscan
      
  2. 进程分析

    • 发现可疑进程Mfpmp.exe
    • 正常路径应为c:\windows\system32\mfpmp.exe
    • 实际路径异常
  3. 确定恶意IP

    • 从网络连接中筛选可疑IP
  4. 生成flag

    • 组合进程名和恶意IP
    • 计算md5值

关键工具和技术总结

  1. Wireshark过滤技巧

    • HTTP过滤:http.request.uri
    • MySQL过滤:mysql.query
    • 排除特定内容:not frame contains
  2. AES解密方法

    • 需要密钥和IV
    • 使用Crypto库进行CBC模式解密
  3. Volatility取证技术

    • 内存镜像分析
    • 文件扫描和提取
    • 网络连接分析
  4. 盲水印技术

    • 使用Python工具解码
    • 从图像中提取隐藏信息
  5. 恶意进程识别

    • 检查进程路径异常
    • 分析网络连接行为
金盾信安杯线下赛数据安全部分解题教学文档 1. 高频访问识别分析 题目概述 目标:找出被高频访问的页面IP和泄露的数据库密码 提交格式:flag{md5(IP+密码)} 解题步骤 流量分析 使用Wireshark打开流量包 过滤HTTP流量,发现大量访问 i.php 的请求 识别关键页面 i.php 是一个MySQL登录界面 密码使用AES加密传输 确定攻击IP 通过分析登录失败信息,确定高频访问IP为 193.168.0.133 获取密码 过滤成功登录的数据包: 从成功登录的数据包中获取加密密码 密码解密 使用以下Python脚本解密AES加密的密码: 解密得到密码: aaa111... 生成flag 计算 md5(193.168.0.133+aaa111...) 最终flag: flag{2d8c55e0c3b7577fb40f1e345628eb85} 2. 批量访问识别分析 题目概述 目标:找到涉及大量查询的攻击源IP地址 提交格式:flag{md5(ip)} 解题步骤 流量过滤 在Wireshark中使用过滤规则: 分析查询流量来源 确定攻击IP 通过分析查询流量,确定攻击源IP为 193.168.0.133 生成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分析内存镜像 获取镜像信息: 文件扫描 扫描内存中的文件: 发现可疑zip文件 提取文件 提取目标文件: 分析网络流量 导出HTTP对象 发现 pass.zip 包含盲水印信息 盲水印解码 使用工具: 获取密码: ffzx1f90 解压拓扑图 使用密码解压zip文件 获取flag: flag{51edaf9b227870c1a274a3d8d3eb8a60} 5. 恶意处理行为分析 题目概述 目标:识别恶意进程与外联的恶意IP 提交格式:flag{md5(进程名+恶意ip)} 解题步骤 网络连接分析 使用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 AES解密方法 需要密钥和IV 使用Crypto库进行CBC模式解密 Volatility取证技术 内存镜像分析 文件扫描和提取 网络连接分析 盲水印技术 使用Python工具解码 从图像中提取隐藏信息 恶意进程识别 检查进程路径异常 分析网络连接行为