iT邦幫忙

1

Microsoft Anti-XSS 避免XSS攻擊

Microsoft Anti-XSS (Anti-Cross Site Scripting Library) 避免XSS攻擊

原文出處:http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/04/microsoft\_anti-xss\_v43.aspx

舉例來說,下面的作法都可能造成危險,您可以透過這些字串檢查一下網站或是網頁程式能否正確過濾、處理這些資訊(資料來源:維基百科):
 ><script>alert(document.cookie)</script>
 ='><script>alert(document.cookie)</script>
 "><script>alert(document.cookie)</script>
 <script>alert(document.cookie)</script>(註:竊取、窺視Cookie)
 <script>alert(vulnerable)</script>
 %3Cscript%3Ealert('XSS')%3C/script%3E(註:隱藏 < 與 >符號,趁機加入script程式)
 <script>alert('XSS')</script>
 <img src="javascript:alert('XSS')">(註:假借圖片檔名,輸入JavaScript指令)
 <img src="http://xxx.com/yyy.png" onerror="alert('XSS')">
 <div style="height:expression(alert('XSS'),1)" />(註:僅限 IE 有效)
使用Anti-XSS也很簡單。請參考下列步驟即可:

第一, 將Anti-XSS的.DLL檔案「加入參考」,或是用Nuget進行安裝。

第二, 後置程式碼的最上方,請加入命名空間:

C#語法。using Microsoft.Security.Application;
VB語法。Import Microsoft.Security.Application

第三, 將原本的程式加以改寫:
想要從網址上抓取變數與值,例如 http://www.test.com/sample.aspx?Aid=123

C#語法:
String Name = Request.QueryString["Aid"];
修正以後,請改為:
String Name = Encoder.HtmlEncode(Request.QueryString["Aid"]);

VB語法:
Dim Name As String = Request.QueryString("Aid"]
修正以後,請改為:
Dim Name As String = Encoder.HtmlEncode(Request.QueryString("Aid"])

因為文章後面有些範例與程式碼,
如果您有興趣的話,可以到此繼續觀賞

原文出處:http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/04/microsoft\_anti-xss\_v43.aspx


尚未有邦友留言

立即登入留言