网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

办公软件团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 工具 > 办公软件 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

通过将URL嵌入文件中来探索word和excel文件跟踪解决方案,自动触发HTTP请求获取IP定位信息,间接降低敏感数据被恶意传播的风险

文章来源:重庆软件开发 发布时间:2020-08-24 14:29:36 围观次数:
分享到:

摘要:随着形式的多样性,文件的保存和传输使Office成为共享和协作的通用解决方案。对于某些包含敏感数据的文件,当文件有意或无意地泄漏时,可能会对企业造成无法弥补的损失。

  office已成为每个人日常办公室必不可少的工具,它具有丰富的文本编辑,演示和数据处理功能,所有功能均得到充分体现。然后,随着形式的多样性,文件的保存和传输使Office成为共享和协作的通用解决方案。对于某些包含敏感数据的文件,当文件有意或无意地泄漏时,可能会对企业造成无法弥补的损失。本文将探讨word和excel文件跟踪解决方案。通过将URL嵌入文件中,在打开文件时,可以自动触发HTTP请求以获得诸如IP之类的位置信息,并间接降低敏感数据被恶意传播的风险。


Word文件跟踪


  对于word文件跟踪,首先打开word,然后在创建新文档时出现用于选择模板的界面:

blob.png

  在此处选择一个模板,例如“做笔记”,然后将其直接另存为test.docx。这里要说明的一点知识是,office文件本质上是一个压缩包,打包为许多xml和其他一些类型的文件,因此docx可以解压,至于如何解压,大多数可以直接在Windows上解压,可以将后缀更改为Mac上的test.rar,然后解压。解压后,通常会看到_rels,[Content_Types] .xml,docProps,word。 前三个文件(文件夹)基本上是它们自己的全局配置。 office系列的文件基本相同,并且word文件夹特定于docx。 它主要包含整个word的内容; 在_rels文件夹中,将找到一个名为settings.xml.rels的文件。用记事本打开后,内容大致如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="file:////Users/*****/Library/Containers/com.microsoft.Word/Data/Library/Caches/2052/TM10002086/做笔记.dotx" TargetMode="External"/></Relationships>

  可以看出,这是创建文件夹时选择的模板配置文件。Target指向本地路径。office本身支持TargetMode作为External,这是外部参考。该方法实际上不仅是本地路径,而且还是外部URL,并且在打开文件后会自动分析和搜索此引用。在这里可以用自己的“网络钓鱼”链接替换它,然后将其重新打包为docx。这里的第一个问题是:手动包装后,打开文件基本上会弹出一个窗口,警告文件已损坏。实际上,这是由解压缩后目录中生成的不干净文件引起的。由程序自动完成不会有问题;第二个问题是使用固定的模板格式对其进行了修改。对于任何格式的docx文件,如何使用此方法进行嵌入?


Docx文件嵌入任意内容


  如果要修改任何文件以实现此效果,则必须了解模板引用生成的原理。实际上,在上面看到的是模板配置文件,但是没有看到相应的参考文件。不引用它不会被执行,甚至会打开报错。打开word/settings.xml文件,该文件可以在xml中找到

<w:attachedTemplate r:id="rId1"/>

  这是对模板的引用,其中attachTemplate是模板类型,rId1是编号,与上面文件中的ID相对应。因此需要嵌入docx文件的URL并编辑这两个文件。当然,在实际情况下,这两个文件可能不存在,需要自己创建,或者可能已经存在,包括rId1。这时,将依次使用其他ID号(例如rId2)。


Excel文件跟踪


  对于Excel文件跟踪方法,首先想到的是word版本。不幸的是,尽管也可以根据模板创建文件,但是不支持嵌入式链接。那么,有没有更好的解决方案可以达到与xlsx文件相同的效果? 就介绍一个“不完美”的解决方案。

  首先,创建一个新文件。为了演示的目的,不写入数据,而是直接插入图片。效果如下:

blob.png

  保存文件后,以相同的方式解压缩xlsx文件,如果没有意外,得到rels,[Content_Types] .xml,docProps,xl。正如此处看到的,与docx文件的唯一区别是xl文件夹,这是excel文件的核心内容。在寻找线索之前,可以大致确定一个逻辑,即应该有两个关键配置文件,其中一个的内容引用了图片资源的位置,另一个是指此配置文件。根据此想法,首先可以清楚地看到图片资源位于media文件夹中,然后可以根据文件名搜索找到drawing/ rels/drawing1.xml.rels文件,内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/></Relationships>

  不难想到将另一个属性TargetMode =“ External”添加到表示外部链接的Target =“ ../media/image1.png”,然后将“ ../media/image1.png”修改为网络钓鱼URL。并重新包装稍后可以发现达到了跟踪效果。此时,出现相同的问题。在任何xlsx文件下如何支持它,还有另一个问题,如何隐藏此图片?


在xlsx文件中嵌入任意内容


  下一步是找出如何引用上述配置文件。首先,基本上可以猜出drawing文件夹必须是与图片相关的资源配置。除了刚才提到的.rels文件外,另一个是drawing1.xml。可以打开的内容基本上是图片的属性,包括大小,位置,名称和其他数据,以及引用关系:

<a:blip xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:embed="rId1"/>

  同样,rId1对应于先前的配置文件;然后以相同的方式,会发现文件worksheets/sheet1.xml和worksheets/_rels/sheet1.xml.rels都引用了相关的配置文件信息。根据这4个文件,可以自定义xlsx的跟踪方案。当然,实际情况中存在一些问题。首先,这些文件不一定存在。如果它们不存在,则需要创建它们。如果它们存在,则需要注意rId的序列号,因为可能还有其他图像资源引用;虽然可以在drawing1.xml配置中设置hidden属性,但是尝试一下后,发现打开文件时不会自动执行隐藏图片,这也失去了意义,因此目前可行的解决方案是将图片设置为长度和宽度为0的格式,并将位置同时放置在左上角,这样就可以间接实现隐藏的目的。最终效果如下:

blob.png

  如果选择了图片,将显示一个小标记。当然,如果未选中它,则将不可见。


Office文件暗水印


  在有网络请求的地方,它通常是不稳定的,因此,除了能够跟踪文件的打开路径之外,还需要暗水印来辅助可追溯性。对于Office文件的暗水印,有很多方法。根据上面提到的解决方案思想,不难看出在许多配置文件中实际上可以插入字符串,例如直接将参数附加到插入的链接中进行标记;或在xlsx的图像名称属性中写入一串暗水印;或直接在文件属性等中添加字符串,这里先介绍下文件属性。

blob.png

  如图所示,可以看到Office文件的属性显示了一些固定信息。暗水印的添加可以直接加密字符串并将其写入属性。优点是可以修改和保存为文件,但是缺点是很容易找到。后来,经过研究,发现有一种方法可以自定义属性以增强属性。原理就是office的属性不是固定的。除了图中的公共属性外,它还支持自定义。名称和值可以由自己编写,并且在视图属性中不会显示这些自定义值,这使得暗水印更加隐蔽。具体方法是在解压后的docProps文件夹中创建一个新的custom.xml文件,其内容可以参考:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>

<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">

<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="2" name="这里是自定义属性名">

<vt:lpwstr>这里是属性对应的值</vt:lpwstr>

</property>

</Properties>

  它还需要在其他配置文件中引用,此处将不对其进行扩展。可以在同一目录中引用app.xml文件的引用关系。


总结一下


  Office文件跟踪本质上是利用Office本身的特性来做文章的。在深入了解其结构之后,可以更好地实施该解决方案。尽管本文中的解决方案可以满足基本需求,但仍有许多问题需要解决,并且数据安全保护仍然需要每个人继续研究新技术。


本文由 重庆软件开发 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:URL嵌入 word excel HTTP请求 获取IP定位 敏感数据传播

上一篇:Socialscan:社交帐户搜索工具,支持查询电子邮件地址和用户名,asyncio和aiohttp同时执行所有查询
下一篇:最后一页

热门资讯

鼠标向下滚动