利用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文檔,拓展思維~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM