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

  • 相关阅读:
    整除理论
    洛谷P1440 求m区间内的最小值
    洛谷 P1865 A % B Problem
    CF776B Sherlock and his girlfriend
    POJ2262 Goldbach's Conjecture
    BZOJ1607: [Usaco2008 Dec]Patting Heads 轻拍牛头(筛法思想)
    质数合数相关
    CPU缓存会分为一级缓存L1、L2、L3
    mysql+redis
    IntelliJ IDEA下的使用git
  • 原文地址:https://www.cnblogs.com/0nc3/p/13436410.html
Copyright © 2011-2022 走看看