一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > XXE漏洞快速入門

XXE漏洞快速入門

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2023-01-05 10:19:00 1672885140

  一:初識(shí)XXE漏洞

  1.XXE簡(jiǎn)介

  XXE就是XML外部實(shí)體注入,當(dāng)允許引用外部實(shí)體時(shí), XML數(shù)據(jù)在傳輸中有可能會(huì)被不法分子被修改,如果服務(wù)器執(zhí)行被惡意插入的代碼,就可以實(shí)現(xiàn)攻擊的目的攻擊者可以通過構(gòu)造惡意內(nèi)容,就可能導(dǎo)致任意文件讀取,系統(tǒng)命令執(zhí)行,內(nèi)網(wǎng)端口探測(cè),攻擊內(nèi)網(wǎng)網(wǎng)站等危害。

  那有的小伙伴可能就會(huì)問了,那XML又是什么呢?

  2.XML概念

  XML是可擴(kuò)展的標(biāo)記語言(eXtensible Markup Language),設(shè)計(jì)用來進(jìn)行數(shù)據(jù)的傳輸和存儲(chǔ), 結(jié)構(gòu)是樹形結(jié)構(gòu),有標(biāo)簽構(gòu)成,這點(diǎn)很像HTML語言。

  但是XML和HTML有明顯區(qū)別如下:

  XML 被設(shè)計(jì)用來傳輸和存儲(chǔ)數(shù)據(jù)。

  HTML 被設(shè)計(jì)用來顯示數(shù)據(jù)。

  二:XML語法簡(jiǎn)析

  1.XML基礎(chǔ)語法

  先來看一段簡(jiǎn)單的XML代碼

XXE漏洞快速入門1

  簡(jiǎn)單來說XML的語法中,標(biāo)簽就是變量名,標(biāo)簽里面的數(shù)據(jù)就是變量的值

  但這里也存在一個(gè)問題,當(dāng)數(shù)據(jù)里出現(xiàn)了尖括號(hào)時(shí),就會(huì)造成XML數(shù)據(jù)的解析錯(cuò)誤,如下

XXE漏洞快速入門2

  所以xml語法中也對(duì)這種寫法最初了規(guī)定,即

  在XML中某些單獨(dú)字符,如引號(hào)” ‘ & 和 尖括號(hào) 都是不允許直接出現(xiàn)在XML文檔中(也就是不能直接用剛才那種寫法保存這些帶有這些單獨(dú)字符的數(shù)據(jù))的,因?yàn)閄ML 解析的時(shí)候會(huì)分辨不清這種輸入到底是數(shù)值還是標(biāo)簽 那有什么辦法能夠保存這些帶有特殊字符的數(shù)據(jù)呢?這就是下面我們要講的實(shí)體

  2.XML實(shí)體

  上面的問題必須要解決,所以出現(xiàn)了實(shí)體Entity來解決這個(gè)問題 實(shí)體Entity是一種簡(jiǎn)單的存儲(chǔ)單元就好比xml變量一樣可以對(duì)它進(jìn)行賦值﹐并在xml文檔中不同的地方對(duì)他引用。實(shí)體在XML文檔中的文檔類型定義部分(DTD)被單獨(dú)定義描述。

  [1].XML的基本結(jié)構(gòu)

  上面有一些詞可能大家還比較陌生,先簡(jiǎn)單介紹一些XML基本的結(jié)構(gòu),由XML聲明,DTD部分,XML部分,三部分組成,示意圖如下

XXE漏洞快速入門3

  DTD部分就是用來定義 XML 文檔的合法構(gòu)建模塊的,繼續(xù)往下看你就明白了

  上面講到了實(shí)體,我們繼續(xù)來看看

  而實(shí)體又分為三種,一般實(shí)體(通用實(shí)體),參數(shù)實(shí)體,預(yù)定義實(shí)體

  [2].一般實(shí)體

  一般實(shí)體的聲明:

  引用一般實(shí)體的方法:&實(shí)體名稱;

  來看看下面一段使用了一般實(shí)體的代碼

XXE漏洞快速入門4

  范圍:普通實(shí)體可以在DTD中引用,可以在XML中引用,可以在聲明前引用,還可以在實(shí)體聲明內(nèi)部引用。

  [3].參數(shù)實(shí)體

  參數(shù)實(shí)體的聲明:

  引用參數(shù)實(shí)體的方法:%實(shí)體名稱;

  來看看下面一段使用了參數(shù)實(shí)體的代碼,其實(shí)跟一般實(shí)體差不多知識(shí)%的區(qū)別

XXE漏洞快速入門5

  它必須定義在單獨(dú)的DTD區(qū)域,這種實(shí)體相對(duì)靈活,這種功能在漏洞利用場(chǎng)景的外部實(shí)體注入(XXE)過程中非常有用

  [4].預(yù)定義實(shí)體

  這玩意在XXE漏洞中一般用不到,有興趣的同學(xué)可以去簡(jiǎn)單了解一下,我這里就不講了

  [5].內(nèi)部實(shí)體和外部實(shí)體

  上面講的那些都是內(nèi)部實(shí)體,實(shí)體的值來源于內(nèi)部,而外部實(shí)體顧名思義就是引用外部的值,兩者的寫法也差不多,外部實(shí)體僅僅是多了一個(gè)SYSTEM,給大家列了個(gè)表格這樣大家可以更清楚一點(diǎn),如下

XXE漏洞快速入門6

  注意:引入外部的DTD文件時(shí),dtd文件中存放的就是xml代碼,并且引用外部實(shí)體的時(shí)候還可以使用各種偽協(xié)議,而不是僅限于http協(xié)議

  [6].實(shí)例演示

  可能有些人還是比較迷糊, 下面分別給出一個(gè)內(nèi)部實(shí)體和外部實(shí)體的例子大家就能看懂了 來看一段內(nèi)部實(shí)體的例子

XXE漏洞快速入門7

  再來看看外部實(shí)體

XXE漏洞快速入門8

  總結(jié)一下,內(nèi)部實(shí)體就相當(dāng)于自己編寫DTD內(nèi)容,而外部實(shí)體就相當(dāng)于引入外部的DTD內(nèi)容,類似于寫JS代碼時(shí)從外部引入JS文件,這樣就能理解了吧,上面的一般實(shí)體和參數(shù)實(shí)體都可以化為外部實(shí)體

  而XXE漏洞,就存在于外部實(shí)體中,我們將惡意代碼寫入DTD文件中再通過外部實(shí)體引入

  三:漏洞演示

  1.漏洞明析

  在這里在復(fù)習(xí)一下XXE漏洞是什么

  XXE漏洞就是XML外部實(shí)體注入。既然是外部實(shí)體注入,那么針對(duì)于XXE漏洞肯定就是XML外部實(shí)體了。引入外部實(shí)體方式有很多種,比如:實(shí)體ENTITY不僅能用來儲(chǔ)存指定數(shù)值,他還能從本地文件或者遠(yuǎn)程文件中調(diào)用相關(guān)的數(shù)據(jù)作為后續(xù)實(shí)體引用。如外部實(shí)體(XMLExternal Entity)就是其中之一。

  下面舉兩個(gè)簡(jiǎn)單的外部實(shí)體攻擊例子

  [1].例一.

XXE漏洞快速入門9

  此時(shí)c變量讀取的值便是/etc/passwd文件的內(nèi)容

  但這種方式也有問題,就是會(huì)涉及到敏感內(nèi)容,所以還有下面這種攻擊方法

  [2].例二

XXE漏洞快速入門10

  該方法通過引入外部的DTD文件,而文件中同樣是讀取敏感文件的惡意代碼,這樣被檢測(cè)的可能性就大大降低

  2.檢測(cè)漏洞

  這里的漏洞環(huán)境我們使用的是pikachu這個(gè)靶場(chǎng)的XXE關(guān)卡,這個(gè)靶場(chǎng)應(yīng)該都有吧,沒有的也可以找我拿,打開該靶場(chǎng)的XXE關(guān)卡,如下

XXE漏洞快速入門11

  可以看到是一個(gè)輸入框,提示可以接收xml數(shù)據(jù)

  那我們?cè)撛趺磁袛嗍欠翊嬖赬XE漏洞呢?其實(shí)就是看他是否能夠解析XML數(shù)據(jù),所以我們直接傳入一段XML代碼看他能否解析

  我們放入下面這段代碼

XXE漏洞快速入門12

  這段代碼都能看懂吧,就是給name變量賦了一個(gè)test值,把代碼放到輸入框中,點(diǎn)擊提交,結(jié)果如下

XXE漏洞快速入門13

  成功提取到test數(shù)據(jù),說明有可能存在XXE漏洞

  3.漏洞利用

  上面已經(jīng)檢測(cè)數(shù)來存在XXE漏洞了,那應(yīng)該怎么利用呢,很簡(jiǎn)單,就是利用我們剛才講到的,外部實(shí)體引用可以使用的——協(xié)議

  這里也給大家準(zhǔn)備了各種語言支持的協(xié)議 ,如下

XXE漏洞快速入門14

  [1].直接外部實(shí)體注入

  直接外部實(shí)體注入,就是通過協(xié)議直接執(zhí)行惡意命令

  因?yàn)槲沂莣indows主機(jī),這里我們以file協(xié)議來讀取c:/windows/win.ini配置文件的內(nèi)容,xml代碼如下(注意這里的路徑需要改變寫法,不然會(huì)受到轉(zhuǎn)義的影響)

XXE漏洞快速入門15

  將代碼放入輸入框提交,結(jié)果如下:

XXE漏洞快速入門16

  成功讀取

  [2].間接外部實(shí)體注入

  這個(gè)也比較簡(jiǎn)單,就會(huì)將惡意代碼寫在DTD文件中,再引入DTD文件,操作如下

  構(gòu)造外部dtd文件

  打開虛擬機(jī),這里我選擇的是kali,進(jìn)入根目錄,創(chuàng)建一個(gè)xxx.dtd的文件,內(nèi)容如下

XXE漏洞快速入門17

  使兩臺(tái)機(jī)器可以互相連接

  這里直接打開apache服務(wù)就可以達(dá)到這個(gè)效果了,主要是為了使xml代碼能成功引用到kali的dtd文件

XXE漏洞快速入門18

  構(gòu)造XML代碼

  引用外部實(shí)體的xml代碼如下(192.168..0.107是我的kali的ip地址),這里用參數(shù)實(shí)體給大家演示一下

XXE漏洞快速入門19

  效果如下,成功讀取

XXE漏洞快速入門20

  四:漏洞防范

  針對(duì)于XXE漏洞修復(fù)其實(shí)只有兩點(diǎn):

  禁止使用外部實(shí)體,例如libxml disable_entity_loader(true) 。

  過濾用戶提交的XML數(shù)據(jù),防止出現(xiàn)非法內(nèi)容。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
適合三農(nóng)領(lǐng)域的名字?有何技巧?

現(xiàn)在在抖音上很多博主會(huì)選擇直播來賺取更多的流量以及利潤(rùn),直播間的東西也有很多讓消費(fèi)者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

2023-09-19 07:06:05
抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

抖店服務(wù)市場(chǎng)服務(wù)商發(fā)布違禁信息如何處理?情節(jié)嚴(yán)重程度判定原則:違規(guī)嚴(yán)重等級(jí)主要通過服務(wù)商違規(guī)次數(shù)、造成后果的嚴(yán)重程度、獲利或?qū)е聯(lián)p失的...詳情>>

2023-09-19 06:59:55
“泛垂直起號(hào)”可能是2023年最高效的起號(hào)方式

這可能是明年最好用的旗號(hào)方式了,今天教大家一個(gè)很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個(gè)人都教你,誰知七號(hào)對(duì)著自己的產(chǎn)品拍...詳情>>

2023-09-19 06:37:38
做直播怎么賣自己的貨怎么上鏈接?能賺錢嗎?

直播賣貨是時(shí)下非?;鸬囊粋€(gè)行業(yè),我們的產(chǎn)品可以放到網(wǎng)上賣,也可以在網(wǎng)上做直播。現(xiàn)在的直播平臺(tái)也是很多的,基本不愁沒有銷路。如果想要賣自...詳情>>

2023-09-19 06:28:26
比較適合新手的3個(gè)不用出境的領(lǐng)域

隨著短視頻行業(yè)盛勢(shì)發(fā)展,越來越多的年輕人也想要投入這行,但又苦于不想出鏡。抖音短視頻 for Android V24.8.0 安卓手機(jī)版類型:影音播放大小...詳情>>

2023-09-19 06:06:39
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長(zhǎng)沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)