跨網站指令碼編製執行個體(AppScan掃描結果)

來源:互聯網
上載者:User

標籤:

最近工作要求解決下web的項目的漏洞問題,掃描漏洞是用的AppScan工具,其中有很多是關於跨網站指令碼編製問題的。下面就把這塊東西分享出來。

原創文章,轉載請註明

-----------------------------------------正題-------------------------

測試類型:
應用程式層級測試


威脅分類:
跨網站指令碼編製


原因:
未對使用者輸入正確執行危險字元清理


安全性風險:
可能會竊取或操縱客戶會話和cookie,它們可能用於模仿合法使用者,從而使駭客能夠以該使用者身份查看或變更使用者記錄以及執行事務


受影響產品:
該問題可能會影響各種類型的產品。

引用:
CERT Advisory CA-2000-02
Microsoft How To: Prevent Cross-Site Scripting Security Issues (Q252985)
Microsoft How To: Prevent Cross-Site Scripting in ASP.NET
Microsoft How To: Protect From Injection Attacks in ASP.NET
Microsoft How To: Use Regular Expressions to Constrain Input in ASP.NET
Microsoft .NET Anti-Cross Site Scripting Library
跨網站指令碼編製培訓模組

技術描述:

AppScan 檢測到應用程式未對使用者可控制的輸入正確進行無害化處理,就將其放置到充當Web 頁面的輸出中。這可被跨網站指令碼編製攻擊利用。
在以下情況下會發生跨網站指令碼編製(XSS) 脆弱性:
[1] 不可信資料進入Web 應用程式,通常來自Web 請求。
[2] Web 應用程式動態產生了包含此不可信資料的Web 頁面。
[3] 頁面產生期間,應用程式不會禁止資料包含可由網頁瀏覽器執行的內容,例如JavaScript、HTML 標籤、HTML 屬性、滑鼠事件、Flash 和
ActiveX。
[4] 受害者通過網頁瀏覽器訪問產生的Web 頁面,該頁麵包含已使用不可信資料注入的惡意指令碼。
[5] 由於指令碼來自Web 服務器發送的Web 頁面,因此受害者的網頁瀏覽器在Web 服務器的域的上下文中執行惡意指令碼。
[6] 這實際違反了網頁瀏覽器的同源策略的意圖,該策略聲明一個域中的指令碼不應該能夠訪問其他域中的資源或運行其他域中的代碼。
一旦注入惡意指令碼後,攻擊者就能夠執行各種惡意活動。攻擊者可能將私人資訊(例如可能包含會話資訊的cookie)從受害者的機器傳輸給攻擊者。攻
擊者可能以受害者的身份將惡意請求發送到Web 網站,如果受害者具有管理該網站的管理員特權,這可能對網站尤其危險。
網路釣魚攻擊可用於模仿可信網站,並誘導受害者輸入密碼,從而使攻擊者能夠危及受害者在該Web 網站上的帳戶。最後,指令碼可利用網頁瀏覽器本
身中的脆弱性,可能是接管受害者的機器(有時稱為“路過式入侵”)。
主要有三種類型的XSS:
類型1:反射的XSS(也稱為“非持久性”)
伺服器直接從HTTP 要求中讀取資料,並將其反射回HTTP 響應。在發生反射的XSS 利用情況時,攻擊者會導致受害者向易受攻擊的Web 應用程式提
供危險內容,然後該內容會反射回受害者並由網頁瀏覽器執行。傳遞惡意內容的最常用機制是將其作為參數包含在公用發布或通過電子郵件直接發送給
受害者的URL 中。以此方式構造的URL 構成了許多網路釣魚方案的核心,攻擊者藉此騙取受害者的信任,使其訪問指向易受攻擊的網站的URL。在站
點將攻擊者的內容反射回受害者之後,受害者的瀏覽器將執行該內容。
類型2:儲存的XSS(也稱為“持久性”)
應用程式在資料庫、訊息論壇、訪問者日誌或其他可信資料存放區器中儲存危險資料。在以後某個時間,危險資料會讀回到應用程式並包含在動態內容
中。從攻擊者的角度來看,注入惡意內容的最佳位置是向許多使用者或特別感興趣的使用者顯示的地區。感興趣的使用者通常在應用程式中具有較高的特權,
或者他們會與對攻擊者有價值的敏感性資料進行互動。如果其中某個使用者執行惡意內容,那麼攻擊者就有可能能夠以該使用者的身份執行特權操作,或者獲
取對屬於該使用者的敏感性資料的訪問權。例如,攻擊者可能在日誌訊息中注入XSS,而管理員查看日誌時可能不會正確處理該訊息。
類型0:基於DOM 的XSS
在基於DOM 的XSS 中,客戶機執行將XSS 注入頁面的操作;在其他類型中,注入操作由伺服器執行。基於DOM 的XSS 中通常涉及發送到客戶機的
由伺服器控制的可信指令碼,例如,在使用者提交表單之前對錶單執行健全性檢查的Javascript。如果伺服器提供的指令碼處理使用者提供的資料,然後將資料
注入回Web 頁面(例如通過動態HTML),那麼基於DOM 的XSS 就有可能發生。以下樣本顯示了在響應中返回參數值的指令碼。
參數值通過使用GET 請求發送到指令碼,然後在HTML 中嵌入的響應中返回。

[REQUEST]GET /index.aspx?name=JSmith HTTP/1.1
[RESPONSE]HTTP/1.1 200 OKServer: SomeServerDate: Sun, 01 Jan 2002 00:31:19 GMTContent-Type: text/htmlAccept-Ranges: bytesContent-Length: 27<HTML>Hello JSmith</HTML>

攻擊者可能會利用類似以下情況的攻擊:

[ATTACK REQUEST]GET /index.aspx?name=>"‘><script>alert(‘PWND‘)</script> HTTP/1.1
[ATTACK RESPONSE]HTTP/1.1 200 OKServer: SomeServerDate: Sun, 01 Jan 2002 00:31:19 GMTContent-Type: text/htmlAccept-Ranges: bytesContent-Length: 83<HTML>Hello >"‘><script>alert(‘PWND‘)</script></HTML>

在這種情況下,JavaScript 代碼將由瀏覽器執行(>"‘> 部分在此處並不相關)。

跨網站指令碼編製執行個體(AppScan掃描結果)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.