BugkuCTF: 眼见非实(ISCCCTF)

本文介绍了解压ZIP文件并解析其中的Excel XML数据的过程。通过使用Linux下的file命令识别文件类型,逐步解压ZIP文件,揭示了CustomXMLPart在Excel中存储数据的秘密。文章还探讨了CustomXMLPart的创建和使用场景,以及如何将Excel转换为XML文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拿到文件发现没有扩展名:

linux下file命令输出:

Zip archive data, at least v2.0 to extract

是个zip压缩文件,在解压一波后打开出现个word:

对这个word文件进行file命令:

Zip archive data, at least v1.0 to extract

看来zip对文件的压缩是以v+数字代表的层数
解压后发现customXml文件夹,搜索一波,没有思路,至此,我就不会了

之后看了一波攻略,输入命令:

grep 'flag' -r 眼见非实

快速搜索在目录下面的含有关键字的文件:

                       grep -r 目录名

 

找到答案:

                 

 

 

CustomXMLPart存储数据

假设两种情形:

1、当有一些数据要使用,但不想让用户直接看到,常规的方式是放在一个表里,然后隐藏

2、当数据来自服务器、远端服务器,但文档要带到一个离线环境中使用

此时可以考虑在工作簿中创建一个CustomXMLPart,要创建它非常简单,可以使用CustomXMLParts接口的Add方法创建CustomXMLPart,CustomXMLPart接口和CustomXMLParts接口定义在 using Microsoft.Office.Core; 命名空间下,其中CustomXMLPart的定义如下:

 public interface _CustomXMLParts : _IMsoDispObj, IEnumerable
 {         
          dynamic Application { get; }
          int Count { get; }
          int Creator { get; }
          dynamic Parent { get; }
          CustomXMLPart this[object Index] { get; }
          CustomXMLPart Add(string XML = "", object SchemaCollection = Type.Missing);
          //Add方法的一个重要参数是接收一个XML文本
          IEnumerator GetEnumerator();
          CustomXMLPart SelectByID(string Id);
          CustomXMLParts SelectByNamespace(string NamespaceURI);
 }

经过一些函数操作可以将excel转化为xml文件:

表转化为xml文件,存在customXml文件夹下

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值