iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
Security

電腦漏洞與入侵系列 第 29

Day 29 - XML外部實體攻擊

  • 分享至 

  • xImage
  •  

XML外部實體攻擊是一種針對XML格式的攻擊手法之一,攻擊利用了XML解析器處理外部實體的能力。攻擊者可能試圖訪問本地文件、資料庫等導致資料外洩的風險。


攻擊原理

XML外部實體的攻擊如下:

1. XML聲明

一個XML文件都會先從XML聲明開始。這一行會告訴解析器或瀏覽器這個檔案要依照XML規則進行解析。

<?xml version="1.0" encoding="UTF-8"?>

2. 定義實體

接著它需要先在XML的DOCTYPE先定義實體

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY baz SYSTEM "file:///etc/passwd">
]>

這邊我們定義了一個名為baz的外部實體,引用了外部資源file:///etc/passwd

3. 引用實體

最後是引用實體的部分,透過&baz的方式引用它。如果它交給解析器或瀏覽器解讀時,解析器或瀏覽器就會讀取/etc/passwd並將文件內容替換成&baz

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
  <!ENTITY baz SYSTEM "file:///etc/passwd">
]>
<foo>&baz;</foo>

攻擊者可以透過這樣來讀取電腦上的敏感訊息,或是將外部實體設置成惡意程式來引用,就能輕而易舉的去控制受害者電腦。

要防範XML外部實體攻擊可以採取將XML解析器的外部引用功能禁用的方法。


參考資料

XML外部實體攻擊


上一篇
Day 28 - 簡單的加密實作
下一篇
Day 30 - XML炸彈
系列文
電腦漏洞與入侵30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言