zoukankan      html  css  js  c++  java
  • 利用docx实现XXE

    0x00 前言

    源于审核hackerone漏洞时的学习。
    好久没更新博客啦,都是存的本地。。
    立个flag:找个时间脱敏整理下~~

    0x01 创建poc docx

    1、借助网站生成docx

    http://206.189.182.59:4567/overwrite

    步骤:

    (1)本地新建一个正常docx文档,选择

    (2)填写要替换的文件,word/document.xml

    (3)填写XML语句

    (4)点击Build即可下载
    在这里插入图片描述

    2、手动修改

    与所有post-Office 2007文件格式一样,现代docx文件实际上只是XML文档的zip文件。 我们在打开docx文件时选择用winrar打开就会发现,docx文档就是一堆xml文件。
    在这里插入图片描述

    打开word的document.xml,可以看到填写的xml语句。
    在这里插入图片描述
    所以我们也可以先将docx文档后缀名改为zip,解压后修改word/document.xml。

    0x02 利用Burp Collaborator插件证明

    由于是Blind XXE,我们可以借助其他工具(个人服务器、插件)来证明漏洞存在,这里我使用Burp Suite的Burp Collaborator插件来证明。

    插件安装步骤在此不做介绍,直接看如何使用。

    1、点击Burp->Burp Collaborator client打开 collaborator 插件;

    2、点击Copy to clipboard复制payload url,该url随机生成;

    在这里插入图片描述

    3、在xml语句中使用Collaborator生成的payload url;

    4、查看访问记录。

    在这里插入图片描述

    响应包返回一串随机字符,说明成功进行了响应,目标服务器进行了外部的请求和交互,证明存在Blind XXE。

    0x03 引发的思考

    1、可以利用docx实现XXE,是不是Excel等文件同样存在该问题?

    yes,you‘re right~~

    xlsx可替换文件为: xl/workbook.xml

    可参考:https://blog.csdn.net/xu84557120/article/details/86530838

    2、在文件上传处不仅要防御可执行文件、xss,也要注意允许docx、excel时防御xxe。

    3、如何修复?

    升级解析xml的框架包

    4、审这个洞收获颇丰,以前只知道常规XXE攻击,也不了解docx文档,拓展思维~~

  • 相关阅读:
    Sql in VBA 之 初识ADO
    Excel读取Word Table元素
    工作表是否已存在函数
    按模板生成工作表
    多层字典对象应用案例分析
    字典的应用
    字典的基本功能
    Dictionary 对象
    File System Object(FSO对象)B
    File System Object(FSO对象)A
  • 原文地址:https://www.cnblogs.com/0nc3/p/13436410.html
Copyright © 2011-2022 走看看