跨站式腳本(Cross-SiteScripting)XSS攻擊原理分析第3/4頁
更新時間:2008年09月06日 12:27:38 作者:
XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執(zhí)行,從而達到惡意用戶的特殊目的。
危害
1、盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號
2、控制企業(yè)數據,包括讀取、篡改、添加、刪除企業(yè)敏感數據的能力
3、盜竊企業(yè)重要的具有商業(yè)價值的資料
4、非法轉賬
5、強制發(fā)送電子郵件
6、網站掛馬
7、控制受害者機器向其它網站發(fā)起攻擊
防范
1、必須明確:一切輸入都是有害的,不要信任一切輸入的數據。
2、緩和XSS問題的首要法則是確定哪個輸入是有效的,并且拒絕所有別的無效輸入。
3、替換危險字符,如:"&", "<", ">", ""","'", "/", "?",";", ":", "%", "<SPACE>", "=", "+"。各種語言替換的程度不盡相同,但是基本上能抵御住一般的XSS攻擊。
a.ASP中的Server.HTMLEncode: <%= Server.HTMLEncode("The paragraph tag: <P>") %>
b.ASP.NET的Server.HtmlEncode及Server.UrlEncode: String TestString = "This is a <Test String>.";
String EncodedString = Server.HtmlEncode(TestString);
Server.UrlEncode(Request.Url.ToString());
4、有些網站使用過濾javascript關鍵字的辦法來防止XSS,其實是很不明智的,因為XSS有時候根本就不需要javascript關鍵字或者對javascript關鍵字進行格式變化來躲過過濾。
5、為所有的標記屬性加上雙引號。應該說這也不是萬全之策,只是在轉義了雙引號的前提下的一道安全保障。比如: 不加雙引號時,onclick被執(zhí)行了:
<a href=http://www.xxx.com/detail.asp?id=2008 onclick='javascrpt:alert('haha')'>
加上了雙引號,onclick不會被執(zhí)行:
<a href="http://www.xxx.com/detail.asp?id=2008 onclick='javascrpt:alert('haha')'">
6、將數據插入到innerText屬性中,腳本將不會被執(zhí)行。如果是innerHTML屬性,則必須確保輸入是安全的。如ASP.NET中:
相關文章
Iptables防火墻iprange模塊擴展匹配規(guī)則詳解
這篇文章主要為大家介紹了Iptables防火墻iprange模塊擴展匹配規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08