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