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元素必須有乙個關...