Writeup 4 2020 - 之江杯 - 异常的工程文件

Writeup 4 2020-之江杯-异常的工程文件

一、题目信息

  • 题目名称:异常的工程文件

  • 题目类型:文件取证 / 工控组态工程

  • 附件:一个被黑客攻击修改过的工程文件包

  • Flag 格式 :flag{}

  • 最终 Flag :flag{854P_l5q2_9Y4a_30Yw}

二、解题思路概览

  1. 解压附件,观察工程文件目录结构。
  2. 用 grep -r 全目录搜索关键字 flag,定位可疑文件。
  3. 对二进制文件用 strings 提取可打印字符串,得到 flag。

三、详细的解题过程

1. 观察工程文件结构

解压后目录如下:

复制代码
1/
├── bgr/
├── drw/
│   └── untitled.drw
├── dsm/
└── 若干 $FT 后缀文件

其中:

  • dcloadgp.ini 是工程配置入口文件,内容为:

    复制代码
    [BA_DL]
    GroupNum=0
  • bgr、drw、dsm 是典型的工控组态软件目录:

    • drw:画面文件目录(Draw)
    • bgr:背景文件目录
    • dsm:数据/组态文件目录
  • $FT 后缀文件是组态软件的临时或缓存文件。

2. 全目录搜索 flag

直接对整个工程目录递归搜索关键字:

bash 复制代码
root@Rambo:/异常的工程文件# grep -r "flag" ./

输出:

bash 复制代码
grep: ./1/drw/untitled.drw: binary file matches
root@Rambo:/异常的工程文件#

命中目标文件:./1/drw/untitled.drw。

注意 :grep 对二进制文件只提示"匹配",不显示具体内容。

3. 从二进制文件中提取字符串

用 strings 提取可打印字符串,再过滤 flag:

bash 复制代码
root@Rambo:/异常的工程文件# strings -n 4 ./1/drw/untitled.drw | grep -i flag

输出:

bash 复制代码
flag{854P_l5q2_9Y4a_30Yw}
flag
root@Rambo:/异常的工程文件#

成功得到 flag。

四、关键点总结

步骤 操作 结论
1 解压并观察目录结构 确认为工控组态工程文件
2 grep -r "flag" ./ 定位到 ./1/drw/untitled.drw
3 `strings -n 4 ... grep -i flag`

技术要点

  1. grep -r 是文件取证的第一步:它能快速在大量文件中定位包含关键字的文件,即使是二进制文件也会提示匹配。
  2. grep 对二进制默认不显示内容 :需要配合 strings 提取可打印字符串。
  3. strings -n 4 的 -n 参数:表示只输出长度不小于 4 的字符串,避免输出大量碎片。
  4. flag 被明文嵌入在画面文件里:属于比较基础的藏法,说明黑客直接在组态画面文件里写了 flag。

五、经验与技巧

以后遇到"工程文件被篡改""文件取证"类题目,可以按这个顺序操作:

bash 复制代码
# 1. 先看文件类型
file 目标文件

# 2. 全目录搜关键字(最快定位)
grep -r "flag" ./
grep -ri "flag" ./

# 3. 对命中的二进制文件提取字符串
strings -n 4 命中文件 | grep -i flag

# 4. 如果 flag 被编码,看十六进制
xxd 命中文件 | grep -i "666c6167"   # "flag" 的 hex

常见藏 flag 的位置

位置 说明
工程配置文件(.ini) 常被直接写入明文
画面文件(.drw) 文本框、注释、隐藏控件
脚本文件(.psc/.vbs) 变量拼接、简单编码
数据库文件(.dbf/.db) 寄存器值、历史记录
二进制文件 直接 strings 提取
文件元数据 修改时间、作者、版本号

六、最终 Flag

复制代码
flag{854P_l5q2_9Y4a_30Yw}

Rambo

2026年9月29日

相关推荐
hengdonghui2 天前
Writeup 4 Bugku - USB 流量截取
wireshark·ctf·流量分析·misc(杂项)
hengdonghui2 天前
Writeup 4 GFCTF 2021 Baby_Web
web·ctf·变量覆盖·路径穿越·php 代码审计
kingx32 天前
Bugku 逆向 MatrixHunter:黑盒 oracle + GF(2) 消元出唯一解
网络安全·矩阵·逆向·ctf
kingx34 天前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
kingx34 天前
Bugku 326 Baby-heap1 题解:glibc 2.23 堆溢出到 FSOP 劫持 _IO_list_all(附完整 exp)
pwn·ctf·glibc·堆溢出·fsop
hengdonghui5 天前
Writeup 4 0xGame 2021 · command (WEB)
web·ctf·rce(远程代码执行)
0xBADCODE5 天前
2026 强网杯 Web 题 cwp · 全链路复盘
前端·安全·web安全·网络安全·系统安全·ctf
kingx38 天前
Bugku WEB 题解总集:文件包含 / SQLi / 反序列化 / SSTI / 反爬 / 组件漏洞
web安全·网络安全·ctf·bugku
kingx38 天前
Bugku Reverse 与 Android 题解总集:APK / native / PE / IPA
android·逆向·ctf·bugku
hengdonghui13 天前
Writeup 4 NUAACTF 2020 Wireshark 流量分析题
wireshark·ctf·misc·流量分析