黑客XSS攻擊注入詳解

XSS - 什麼是跨站點腳本?

跨站點腳本(也稱為XSS)

是最常見的應用層Web攻擊之一。XSS漏洞針對嵌入在客戶端(在用戶的Web瀏覽器中)而不是在服務器端執行的頁面中的腳本。XSS本身就是由客戶端腳本語言(如HTML和JavaScript)的互聯網安全漏洞帶來的威脅。XSS的概念是操縱Web應用程序的客戶端腳本以惡意用戶所需的方式執行。這樣的操作可以將腳本嵌入到頁面中,該頁面可以在每次加載頁面時執行,或者每當執行相關事件時執行。

XSS是當今軟件中最常見的安全漏洞。這不應該是這種情況,因為XSS很容易找到並且易於修復。XSS漏洞可能會導致諸如篡改和敏感數據被盜等後果。

黑客XSS攻擊注入詳解

XSS的關鍵概念

  • XSS是對易受攻擊的Web應用程序執行的基於Web的攻擊。
  • 在XSS攻擊中,受害者是用戶而不是應用程序。
  • 在XSS攻擊中,惡意內容使用JavaScript傳遞給用戶。

解釋跨站點腳本

當Web應用程序從用戶獲取數據並在沒有首先正確驗證數據的情況下將其動態地包含在網頁中時,就會出現XSS漏洞。XSS漏洞允許攻擊者執行任意命令並在受害用戶的瀏覽器中顯示任意內容。成功的XSS攻擊會導致攻擊者在易受攻擊的Web應用程序上控制受害者的瀏覽器或帳戶。雖然XSS是由Web應用程序中的易受攻擊的頁面啟用的,但XSS攻擊的受害者是應用程序的用戶,而不是應用程序本身。XSS漏洞的效力在於惡意代碼在受害者會話的上下文中執行,允許攻擊者繞過正常的安全限制。

XSS攻擊示例

反射XSS

攻擊者可以通過多種方式誘使受害者發起反射XSS請求。例如,攻擊者可能會向受害者發送包含惡意JavaScript的鏈接的誤導性電子郵件。如果受害者點擊鏈接,則會從受害者的瀏覽器發起HTTP請求並將其發送到易受攻擊的Web應用程序。然後,惡意JavaScript被反射回受害者的瀏覽器,在受害者用戶的會話中執行該瀏覽器。

黑客XSS攻擊注入詳解

持久的XSS

考慮一個允許用戶輸入每個用戶的個人資料頁面上顯示的用戶名的Web應用程序。應用程序將每個用戶名存儲在本地數據庫中。惡意用戶注意到Web應用程序無法清理用戶名字段並輸入惡意JavaScript代碼作為其用戶名的一部分。當其他用戶查看攻擊者的個人資料頁面時,惡意代碼會在其會話的上下文中自動執行。

黑客XSS攻擊注入詳解

跨站點腳本的影響

當攻擊者成功利用XSS漏洞時,他們可以獲得對帳戶憑據的訪問權限。它們還可以傳播Web蠕蟲或訪問用戶的計算機並查看用戶的瀏覽器歷史記錄或遠程控制瀏覽器。在獲得對受害者系統的控制後,攻擊者還可以分析和使用其他Intranet應用程序。

通過利用XSS漏洞,攻擊者可以執行惡意操作,例如:

  • 劫持一個帳戶。
  • 傳播網絡蠕蟲。
  • 訪問瀏覽器歷史和剪貼板內容。
  • 遠程控制瀏覽器。
  • 掃描並利用Intranet設備和應用程序。

識別跨站點腳本漏洞

如果出現以下情況,可能會出現XSS漏洞

  • 未驗證進入Web應用程序的輸入
  • 輸出到瀏覽器不是HTML編碼的

XSS示例

示例1.

例如,HTML片段:

示例文檔:%(title) title><p>旨在說明一個模板片段,如果變量標題具有值Cross-Site Scripting,則會生成以下HTML發送到瀏覽器:</p><p/><title>示例文檔:XSS Doc title><p>包含搜索字段的站點沒有正確的輸入清理。通過製作如下所示的搜索查詢:</p><p>“> </p>


分享到:


相關文章: