Digital China WriteUP
数字中国杯 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):
        continue
 
      try:
        \# 尝试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
发现一堆文件
使用工具查看文件后发现零宽字符隐写
使用零宽字符隐写解密工具解密即可
答案:
id:09324810381_time:20250318135114
4 数据跨境 任务3
Wireshark找到音频,根据语音找到对应的地点拼写
答案:
Jiangsugongjiangxueyuanjunlihuayu
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 QingChenyou | Luda' Blog!
