第一篇:Java安全開發規范
Java安全開發規范 第1章
前言
為提高應用安全水平,特制定本規范對代碼編制進行規范。規范中的安全要求按照嚴格程度分為三級: > Policy 必須遵循的策略,實現方法可以自定義,但不能外翻策略的規定。> Discipline 必須遵守的紀律,必須按照規定中的描述實施,絕對不能違反。> Guideline 建議性的指南和規范,將逐步要求遵循實施。第2章 Java安全性開發規范 2.1 跨站腳本XSS * 風險及危害性:
跨站腳本XSS指利用網站漏洞從用戶那里惡意盜取信息。用戶在瀏覽網站、使用即時通訊軟件、甚至在閱讀電子郵件時,通常會點擊其中的鏈接。攻擊者通過在鏈接中插入惡意代 碼,就能夠盜取用戶信息。攻擊者通常會用十六進制(或其他編碼方式)將鏈接編碼,以免用戶懷疑它的合法性。網站在接收到包含惡意代碼的請求之后會產成一個 包含惡意代碼的頁面,而這個頁面看起來就像是那個網站應當生成的合法頁面一樣。許多流行的留言本和論壇程序允許用戶發表包含HTML和 javascript的帖子。假設用戶甲發表了一篇包含惡意腳本的帖子,那么用戶乙在瀏覽這篇帖子時,惡意腳本就會執行,盜取用戶乙的session信 息。
如何導致XSS攻擊,一般來說來自http的post,或者get方式取得參數值很可能為惡意代碼,如果開發者直接用這些參數組合成http鏈接,用戶點擊該連接,就會造成XSS攻擊風險。* 應對措施
開發者要保證代碼的安全性,使其免受XSS攻擊,可采取以下措施:
1. 過濾或轉換用戶提交數據中的HTML代碼。
2. 限制用戶提交數據的長度 * 非安全代碼示例
<%
String mofWindowId = request.getParameter(“mofWindowId”);
%>