XXE漏洞概述

2021-09-23 14:09:07 字數 949 閱讀 5370

xxe(xml external entity -injection")

是xml的外部文件的一種注入漏洞。

首先來看一下xml的大體結構:

dtd:document type definition 即文件型別定義,用來為xml文件定義語義約束。

主要出問題的大多是從dtd這部分出的。

dtd大體框架:

dtd 內部宣告

dtd 外部引用

引用公共dtd

< !doctype 根元素名稱 public 「dtd標識名」 「公用dtd的uri 」>

外部實體引用payload:

<?xml version = "1.0"?>

< !doctype any [

< !entity f system 「file:///etc/passwd」>

]>

< x>&f;< /x>

利用這個來訪問敏感檔案。

外部引用可以支援http,file,ftp等協議。

如果乙個介面支援接收xml資料,且沒有對xml資料做任何安全上的措施,就可

能導致xxe漏洞

******xml_load_string()

函式轉換形式良好的 xml 字串為 ******xmlelement 物件

在php裡面解析xml用的是libxml,其在≥2.9.0的版本中,預設是禁止解析xml外

部實體內容的。

所以在2.9以上版本的這個漏洞很難利用
漏洞發生在應用程式解析xml輸入時,沒有禁止外部實體的載入,導致攻擊者構造惡意的xml。

XXE漏洞利用

docker搜尋xxe相關映象包,然後pull下來,我這裡pull的是 rrodrigo xxelab 映象包。啟動docker環境,對映到vps的32776埠 訪問 輸入註冊資料,抓包重放。發現提交資料報採用 xml 格式傳遞,且郵箱有返回。這裡我們引用外部dtd實體,並且將email的值修改為引...

XXE漏洞筆記

xxe漏洞全稱為xml external entity,也就是xml外部實體注入,攻擊者通過向伺服器注入指定的xml實體內容,從而讓伺服器按照指定的配置進行執行,導致問題 也就是說服務端接收和解析了來自使用者端的xml資料,而又沒有做嚴格的安全控制,從而導致xml外部實體注入。可造成檔案讀取 命令執...

XXE漏洞學習一

想從事網路安全相關的實習工作,因此學習一些入門基礎知識,簡單記錄下。1.xml介紹及應用 主要內容 html 是用來格式顯示資料 xml用來傳輸儲存資料,樹狀結構,從根部開始,擴充套件到枝葉,xml允許創作者定義自己的標籤和文件結構 樹結構 2.xml語法規則 主要內容 所有的xml元素必須有乙個關...