Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

我們已經提到了兩種類型的XSS漏洞:反射型和儲存型,它們都有一個共同的特點,就是危險的程式碼插入後,會在伺服器回應後執行,這意味著錯誤在伺服器端。還有另一種類型的 XSS 攻擊違反了這一特性,惡意程式碼在客戶端立即執行,而不經過伺服器,稱為基於 DOM 的 XSS 或也稱為 0 型 XSS。

首先我們要知道DOM是什麼?

DOM 是文件物件模型的縮寫,是 W3C (http://www.w3.org/DOM/) 的標準形式,旨在檢索和操作結構化文件(例如 HTML 和 XML)的資料。該模型將文件表示為分層樹結構。 HTML 和 XML 中的所有元素都被視為節點。

基於 DOM 的 XSS 是一種基於更改文件(特別是 HTML)的 DOM 結構的 XSS 攻擊技術。

下面我們來看一個具體的例子:

某個網站的註冊頁面具有以下 URL:

example.com/register.php?message=Please fill in the form

當我們訪問它時,我們看到一個非常正常的Form:

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

可以很容易的推導表單上通知內容傳入的message參數,仔細看一下這個通知的原始碼:

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

JavaScript 段負責從訊息參數中取得值並列印它。透過這種鬆懈的輸入檢查,完全有可能誘騙使用者存取危險的 URL。

而不是鑄造:

message=Please fill in the form

然後傳輸:

message=GenderMaleFemale

function show(){alert();}

然後註冊表將如下所示:

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

使用者不會對這樣的「正常」形式產生懷疑,當選擇性別時,腳本將被執行:

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

我將進一步解釋一下在訊息參數中傳遞的值:

GenderMaleFemale

function show(){alert();}

它的主要目的是每次select標籤上有onchage事件時執行show()函數,這裡的show()函數只是彈出來顯示腳本已經執行完畢。然而現實中,駭客經常利用這個show()函數來執行一個腳本,將使用者的cookie值傳輸到預定的伺服器,讀者可以回顧一下Reflected XSS一文,裡面提到了駭客如何創建這個請求是什麼樣子的?

這個例子給了我們兩個重要的結論。首先,惡意程式碼在點擊 select 標記中的值後立即執行,這意味著它是在客戶端直接執行的,而不經過伺服器的回應。其次,HTML 結構已隨傳遞的腳本而變更。我們還可以看到實際的利用場景,在欺騙使用者存取嵌入惡意程式碼的 URL 方面,DOM Based 與 Reflected 比 Stored XSS 更相似。

下圖描述了實現基於DOM的XSS攻擊技術的每個步驟:

Web9:XSS 攻擊類型 - 第 3 部分:基於 Dom 的 XSS

以下是 WhiteHat.vn 論壇成員透過基於 DOM 的 XSS 執行攻擊的影片:

祝你好運!


如何在 Windows 中變更無線網路介面卡的首選頻段

如何在 Windows 中變更無線網路介面卡的首選頻段

本指南將向您展示如何變更 Windows 7、Windows 8 和 Windows 10 中無線網路介面卡預設使用的首選頻段(至 5GHz 或 2.4GHz)。

什麼是處理器親和性?如何在 Windows 10 上設定處理器關聯性

什麼是處理器親和性?如何在 Windows 10 上設定處理器關聯性

但是,可以將程式設定為僅使用 1 個或 2 個核心而不是所有核心。在這篇文章中,Quantrimang.com 將解釋什麼是處理器關聯性以及如何在 Windows 10 上設定處理器關聯性。

應避免使用隱私保護最差的 VPN

應避免使用隱私保護最差的 VPN

VPN 技術的日益普及引發了各種範圍、方法和大膽程度各異的詐騙。

如何在 Windows 10 上遠端鎖定電腦

如何在 Windows 10 上遠端鎖定電腦

Windows 10 有一個巧妙的功能,不僅可以讓您追蹤您的設備,還可以遠端鎖定它。

如何使用 SpyHunter 刪除間諜軟體並防止鍵盤記錄程序

如何使用 SpyHunter 刪除間諜軟體並防止鍵盤記錄程序

SpyHunter 是一款搜尋並銷毀電腦上的惡意軟體、間諜軟體和反鍵盤記錄程式的軟體。

嘗試 Windows 10 上的新硬碟容量分析工具“磁碟使用情況”

嘗試 Windows 10 上的新硬碟容量分析工具“磁碟使用情況”

磁碟使用情況位於C:\Windows\System32\diskusage.exe,輸入diskusage /?時會顯示使用說明。該實用程式可以掃描整個磁碟機或指定資料夾並報告每個資料夾的使用量。

如何在Windows 10/11上安裝月光騎士主題

如何在Windows 10/11上安裝月光騎士主題

月光騎士主題套裝品質非常高,值得您立即安裝到您的電腦上。

使用「執行」命令快速開啟 Windows 應用程式的說明

使用「執行」命令快速開啟 Windows 應用程式的說明

當我們需要在Windows中快速開啟應用程式時,我們經常使用鍵盤快捷鍵。然而很少人知道還有一種方法,那就是使用Run指令。運行中有很多命令可以在 Windows 中打開不同的應用程序,但最常見的是下面 5 個打開應用程式的命令。請參考。

您的 Windows 10 電腦有病毒,修復方法如下

您的 Windows 10 電腦有病毒,修復方法如下

當惡意程式碼自行安裝到您的電腦上時,它們可以快速控制您的電腦並導致極其嚴重的錯誤。即使您下載和安裝的防毒軟體有時也可能是假冒軟體,這可能會損害您的電腦。

使用 Ubuntu Live USB 從 Windows PC 移除病毒

使用 Ubuntu Live USB 從 Windows PC 移除病毒

您的 Windows 電腦感染了病毒,或更糟的是,您甚至無法啟動它。如果您擁有 Ubuntu Live USB 或 CD,則可以使用它來清理您的 PC 並嘗試還原 Windows。