数字中国杯 WriteUP

1 溯源与取证 任务1

解题步骤:

首先下载附件,发现里面是一个img文件

使用rstudio打开后恢复文件内容

打开重要文件.docx,发现b1e9517338f261396511359bce56bf58

答案:

b1e9517338f261396511359bce56bf58

2 数据泄露与社会工程 任务1

查找某滴泄露的行程数据

找到138****9377 符合题目

通过某德泄露的地图数据

找到华润国际 E 区是家的位置

{“name”: “ 华润国际 E 区 “, “latitude”: 14.445597, “longitude”: 50.839517}

通过分析

{“name”: “闵行区星辰信息技术园”, “latitude”: 14.4472015, “longitude”: 51.02654}

找到闵行区星辰信息技术园是公司位置

2 数据泄露与社会工程 任务2

解题步骤:

import os

 

def search_files(directory, keyword, output_path):

  \# 创建结果文件(覆盖模式)

  with open(output_path, 'w', encoding='utf-8') as result_file:

​    \# 遍历目录for filename in os.listdir(directory):

​      file_path = os.path.join(directory, filename)

​      

​      if not os.path.isfile(file_path):

​        continuetry:

​        \# 尝试UTF-8解码with open(file_path, 'r', encoding='utf-8') as f:

​          for line_num, line in enumerate(f, 1):

​            if keyword in line:

​              entry = f"文件:{filename}{line_num}行\n{line.strip()}\n{'━'*50}\n"print(entry.strip())  # 控制台输出

​              result_file.write(entry)  # 文件写入

​              

​      except UnicodeDecodeError:

​        try:

​          \# 尝试GBK解码with open(file_path, 'r', encoding='gbk') as f:

​            for line_num, line in enumerate(f, 1):

​              if keyword in line:

​                entry = f"文件:{filename}{line_num}行\n{line.strip()}\n{'━'*50}\n"print(entry.strip())

​                result_file.write(entry)

​        except Exception as e:

​          print(f"解码失败:{filename} - {str(e)}")

​      except Exception as e:

​        print(f"处理错误:{filename} - {str(e)}")

 

if __name__ == "__main__":

  target_dir = r"D:\\CTF\\Game_on_time\\digital_china\\misc\\10.数据泄露与社会工程\\附件\\某通泄露的快递单数据"

  output_file = r"D:\\CTF\\Game_on_time\\digital_china\\misc\\10.数据泄露与社会工程\\附件\\搜索结果.txt"

  

  if os.path.exists(target_dir):

​    search_files(target_dir, "张**", output_file)

​    print(f"\n 搜索结果已保存至:{output_file}")

  else:

​    print(f"目录不存在:{target_dir}")

​    print("请检查路径是否正确(注意大小写和特殊字符)")

在这里搜索完成后找到公司

对应爬取的工商登记数据


import os

import glob

import openpyxl

 

def search_in_excel(file_path, keyword):

  """

   在指定的 Excel 文件中搜索关键字 

  :param file_path: Excel 文件路径 

  :param keyword: 要搜索的关键字 

  :return: 搜索到的结果列表,每个元素包含工作表名称、单元格坐标和单元格内容 

  """

  results = []

  try:

​    workbook = openpyxl.load_workbook(file_path, data_only=True)

  except Exception as e:

​    print(f" 加载文件 {file_path} 出错 : {e}")

​    return results

 

  \# 遍历每个工作表 

  for sheet_name in workbook.sheetnames:

​    ws = workbook[sheet_name]

​    \# 遍历所有的行, iter_rows() 返回的是单元格对象,可以指定 values_only=True 得到值 for row in ws.iter_rows():

​      for cell in row:

​        cell_value = cell.value

​        if cell_value is not None:

​          \# 转换为字符串后不区分大小写搜索 if keyword.lower() in str(cell_value).lower():

​            results.append({

​              "sheet": sheet_name,

​              "cell": cell.coordinate,

​              "content": cell_value

​            })

  return results

 

def main():

  \# Excel 文件所在的目录(可以根据情况修改路径) 

  folder_path = "D:\\CTF\\Game_on_time\\digital_china\\misc\\10. 数据泄露与社会工程 \\ 附件 \\ 爬取的工商登记数据 "

  \# 搜索关键字,可以修改为你需要的关键字 

  keyword = " 闵行区星辰信息技术园 "

 

  \# 构造通配符(这里以 .xlsx 文件为例) 

  file_pattern = os.path.join(folder_path, "*.xlsx")

  files = glob.glob(file_pattern)

 

  if not files:

​    print(" 在指定目录中没有找到 Excel 文件 !")

​    return

 

  for file_path in files:

​    print(f"\n 正在搜索文件 : {file_path}")

​    results = search_in_excel(file_path, keyword)

​    if results:

​      print(f" 在文件 {os.path.basename(file_path)} 中找到关键字 '{keyword}' 的位置如下 :")

​      for res in results:

​        print(f"  工作表 : {res['sheet']} ,单元格 : {res['cell']} ,内容 : {res['content']}")

​    else:

​      print(f" 未在文件 {os.path.basename(file_path)} 中找到关键字 '{keyword}' 。 ")

 

if __name__ == "__main__":

  main()

找到公司名称

答案:

江苏博林科技有限公司

4 数据跨境 任务2

解题步骤:

首先使用wireshark读取流量包

然后导出FTP-DATA

发现一堆文件

使用工具查看文件后发现零宽字符隐写

使用零宽字符隐写解密工具解密即可

表格  AI 生成的内容可能不正确。

答案:

id:09324810381_time:20250318135114

4 数据跨境 任务3

Wireshark找到音频,根据语音找到对应的地点拼写

img

img

答案:

Jiangsugongjiangxueyuanjunlihuayu