xfeng

xfeng

Sporting | Reading | Technology | Recording
github
bilibili

Web安全-XXE漏洞

1. 前置知識#

XML 用於標記電子文件使其具有結構性的標記
語言,可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。XML 文檔結構包括 XML 声明、DTD 文檔類型定義(可選)、文檔元素

通常始於異步 JavaScript 和 XML 技術(ajax 技術):網頁應用能夠快速地將增量更新呈現在用戶界面上,而不需要重載(刷新)整個頁面。目前 JSON 的使用比 XML 更加普遍 JSON 和 XML 都被用於在 Ajax 模型中的 XML 技術。這種標記語言允許開發人員定義和表示任意數據結構的 HTML

常見的 XML 語法結構如下所示:

內部聲明實體格式:<!ENTITY 實體名稱 “實體的值”>。
引用外部實體格式:<!ENTITY 實體名稱 SYSTEM “URI”>

2. 漏洞描述#

XML 外部實體注入(XML External Entity)簡稱 XXE 漏洞

漏洞原理:
XXE 漏洞主要是利用了 DTD 引用外部實體導致的

一般會出現在當前站點允許引用外部實體的情況下

3. XXE 漏洞的攻擊#

3.1 有回显#

  • 讀取敏感文件
  • 使用 php 偽協議讀取文件
  • 掃描內網端口
  • 執行命令

3.2 沒回显#

  • 可以使用外帶數據通道提取數據

4. XXE 漏洞防禦#

  • 禁止外部實體方法
  • 過濾用戶提交的 XML 數據
  • 升級 libxml 組件

最後看個視頻結合文字來理解 XXE 漏洞 (需要科學上網)

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。