1. 程式人生 > >XSS跨站漏洞

XSS跨站漏洞

漏洞描述
攻擊者可以通過構造URL注入JavaScript、VBScript、ActiveX、HTML或者Flash的手段,利用跨站指令碼漏洞欺騙使用者,收集Cookie等相關資料並冒充其他使用者。通過精心構造的惡意程式碼,可以讓訪問者訪問非法網站或下載惡意木馬,如果再結合其他攻擊手段(如社會工程學、提權等),甚至可以獲取系統的管理許可權。

解決方法
對使用者輸入的資料進行全面安全檢查或過濾,尤其注意檢查是否包含HTML特殊字元。這些檢查或過濾必須在伺服器端完成,建議過濾的常見危險字元。

具體思路
新增一個過濾器filter和一個黑名單。這個filter對使用者的每次請求進行過濾。例如,在doFilter()方法中,可以通過Reuqest.getParamerNames()獲取表單中所提交的所有資料,將這些資料與黑名單中的資訊一一校驗,如果包含黑名單中某個字串,則認定有XSS攻擊風險,拒絕訪問請求即可。

黑名單內容可如下所示

<script>
&lt;script&gt;
<iframe
<iframe>
&lt;iframe&gt;
&lt;iframe
&lt; for <
&gt; for >
&quot for "