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文档,拓展思维~~

  • 相关阅读:
    Philosopher(set 线段树合并)
    [NOI2013]书法家
    [NOI2013]树的计数
    [NOI2013]向量内积
    对于有关东方的题目的整理。。
    BZOJ 1412: [ZJOI2009]狼和羊的故事
    BZOJ 1877: [SDOI2009]晨跑
    BZOJ 2039: [2009国家集训队]employ人员雇佣
    BZOJ 1934: [Shoi2007]Vote 善意的投票
    BZOJ 1070: [SCOI2007]修车
  • 原文地址:https://www.cnblogs.com/0nc3/p/13436410.html
Copyright © 2011-2022 走看看