Word文档进行XXE攻击

原文出处:干货

1.了解一下DOCX文档的构造

使用DOCX文档进行XXE攻击,看上去似乎非常高级,其实它的原理是非常简单的。DOCX文档其实就是把一堆的XML文件按照一定的格式压缩在一起。在上篇文章中我们提到了一种远程加载文档模板进行攻击的方法,那个姿势的操作过程中,我们就有对settings.xml.rels文件中的内容进行编辑。事实上,你只需要把DOCX文档的后缀改为ZIP,并解压出其中的文件,就可以清晰地看到DOCX文档的“真实面貌“。

如下图,可以清晰的看到DOCX文档的实际构成

那么既然是XML文档,我们知道XXE攻击的实质就是后端在处理XML相关数据的时候也执行了我们的恶意XML语句,那么有没有一种可能,我们把恶意语句嵌入到DOCX文档中的某些XML文件里,设法让目标网站触发呢?答案是可行的。

这个姿势的关键点在于,既然DOCX文档是由XML压缩而成的,那么网站的一些功能,比方说在线阅读DOCX文档,在线解析DOCX文档等等功能,一定绕不开解析DOCX文档里的XML文件。所以那种网盘在线阅读DOCX文档、网站在线解析DOCX文档、邮件系统传输DOCX文档等等功能都有可能存在这类漏洞,平时漏洞挖掘的时候记得多留个心眼。

下面就开始正式介绍利用的姿势

第一个回显位置

这个位置ord/document.xml文件中

把它打开后发现是这样的

第一个位点在文档声明的下方,也就是这个位置

可以嵌入恶意代码,比方说

随后将这个压缩包的后缀名修改为DOCX,就得到了一个用于XXE攻击的DOCX文档

第二个回显位置

这个姿势学习自先知社区的“你回来吗”师傅。这位师傅发现了在线浏览或者转换DOCX文档的功能处还有一个回显点,即文章的页码。

这个功能点所处的位置是docProps/app.xml

可以清楚的看到控制页码的标签是<Pages>

在Pages标签中嵌入XXE攻击语句即可

随后将这个压缩包的后缀名修改为DOCX,就得到了一个用于XXE攻击的DOCX文档

2.利用Word OLE功能进行XXE攻击

这个姿势同样学习自先知社区的“你回来吗”师傅。这个手法主要用于攻击Libreoffice,Libreoffice是很多Word转PDF网站的常客,实战情况下有机会遇到。

按照上篇OLE+LNK钓鱼的姿势,先创建一个OLE对象先。

接下来这一步原文的师傅是用MAC上的Word来实现的,我一开始复现的时候一时半会还没找到Windows环境下在哪有这个功能点,细看了一波终于被我找到了。

这个文件名的绝对路径可以自己填,插入好之后将这个文档先保存为.odt格式

然后老样子,把它后缀改为.zip格式再修改其中的XML文件,在content.xml中找到第一个xlink:href,其中的路径修改为你想要读的文件

最后把它重新改成Docx格式即可

Word文档进行XXE攻击相关推荐

  1. 利用PowerShell Empire实现Word文档DDE攻击控制(简单没啥用)

    近期,有安全人员发现了一种DynamicData Exchange (DDE)协议绕过MSWord和MSExcel宏限制,不需使用MSWord和MSExcel漏洞,就能实现在Office文档中执行恶意 ...

  2. LAZARUS APT利用恶意word文档攻击MAC用户

    上个月,Kaspersky研究人员发布报告称Lazarus APT组织Lazarus进军macOS平台和加密货币行业.Lazarus APT组织又称为Hidden Cobra,是来自朝鲜的APT组织, ...

  3. 7个从Windows计算机上恢复Word文档的方法

    你是否有受到Windows上损坏或丢失的Word文件的困扰?好吧,你并不孤单! 文件损坏是 Word 文档的常见问题.此外,人们不小心删除了文件或忘记保存最新版本. 由于Word文件通常包含您在个人或 ...

  4. html中文件丢失了怎么找回,如何恢复丢失的Word文档?

    Hugh 于 2020/07/01更新 数据恢复 摘要 重要的Word文件丢失了?易我数据恢复软件立即帮您从Windows备份中还原Word文件或在Windows 10/8/7下恢复丢失的Word文件 ...

  5. word文件意外丢失:教你如何恢复丢失的Word文档?

    Microsoft Word文件在某些情况下可能会丢失.例如:强制退出.电源中断或没存档就关闭.文章中将介绍几种恢复丢失文件的有效方法,您可以用其中一种方法来尝试找回已删除的Word文件. 方法 1. ...

  6. PassFab for Word中文版,帮你找回Word文档设置的文件密码!

    PassFab for Word是一款针对Word文档打造的密码破译器,不少用户为了保护文档的使用隐私和安全,会为自己的Word文档设置密码,但是有时候会碰到忘记密码的情况,这时候这款PassFab ...

  7. Locky勒索软件传播新方式:关闭Word文档会感染电脑

    网络犯罪分子仍未放弃传播Locky勒索软件,除了广为人知的传播途径,少数犯罪分子也在尝试使用新的散布方式.最近,就有黑客通过修改的Word文档传播Locky勒索软件的Payload,并且Payload ...

  8. word文档显示文件已损坏打不开怎么办呢?

    #word技巧#有几种可能的原因导致 Word 文档损坏,比如磁盘驱动器故障.文件传输或下载错误.病毒攻击等等.以下是几种可以尝试修复损坏的 Word 文档的方法: 1. 使用 Word 的" ...

  9. Word文档怎么恢复?数据恢复软件靠谱吗?

    Word文档怎么恢复?我们使用电脑办公时,会在里面储存大量日常文件,但Word文档丢失的情况也时常发生,那么在数据丢失后有什么恢复方法吗?下面就给大家具体讲一讲电脑word文档丢失的一些可能原因和恢复 ...

最新文章

  1. 《iPhone与iPad开发实战—iOS经典应用剖析》连载二
  2. 广州网络推广介绍有关单页面的优化技巧!
  3. 49.什么是拼接技术?
  4. Linux实验报告常用工具开发,Linux基础入门第六节实验报告
  5. jap页面使用ajax动态加载列表数据,JSF - 使用AJAX调用基于DataTable中的mimetype值加载不同形式...
  6. 在SQL Server2005中使用 .NET程序集
  7. hapi 使用 lab 和 code 进行测试
  8. fpga初始化错误_FPGA的ROM初始化问题讨论
  9. 决定创业失败的除了团队外
  10. Pytorch中的错误和bug
  11. [递推][jzyzojP1252]:递推专练4
  12. JS面向对象的程序设计
  13. HighCharts 详细使用及API文档说明
  14. 分享40个超棒的CSS3按钮教程
  15. iOS支付宝支付总结
  16. SPSS中方差分析(F检验)的作用以及使用前提
  17. O2O商业模式目前的状态需看透什么?未来会呈现怎样的特征?
  18. 今日头条面试——测试工程师
  19. 以运力平台的方式切入自动驾驶会是一条捷径吗?
  20. 数据库mysql进阶—trigger触发器

热门文章

  1. python使用seek函数报错:io.UnsupportedOperation: can't do nonzero end-relative seeks
  2. Python入门(二)-编程环境
  3. 身份证复印件正确签注写法 -- 很重要!
  4. 由dorp database 数字引发的思考
  5. websocket前端向后端传数据时出现Buffer
  6. 教你如何试用华为云服务器
  7. 本地服务器上传文件,本地服务器上传文件
  8. 批处理创建隐秘的加密文件夹,是男人就把秘密藏起来
  9. 操作系统(2)复习 第八章 磁盘存储器的管理
  10. 【openGL】安装篇(上):Windows