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