java web項目安全設計__java

來源:互聯網
上載者:User

準備知識
BurpSuite工具–安全性測試使用

安全設計要點 使用https協議訪問 登入頁面密碼輸入框關聯密碼控制項&鍵盤–敏感資訊加密傳輸至後台,防止中途被截取 登入頁面增加一次性圖形驗證碼–僅能驗證一次,驗證後從session立即刪除該key 禁止同一賬戶多處登入–以shiro架構做許可權管理為例,實現方式參考我的另一篇文章《shiro架構實現單點登入》 sessionId不能固定–shiro架構有sessionId固定問題,有安全隱患,解決方案如下

           // 丟棄老的session,重新登入產生sessionID,解決session fixed問題            session.stop();            user.login(token);
簡訊防止頻繁發送(簡訊防重放)
惡意使用者擷取簡訊介面,可通過重放資料包,實現簡訊無限制發送,可能造成嚴重後果。
解決方案:將手機號放進緩衝中,設定有效期間一分鐘(具體有效期間以業務需求為準) 許可權設計到按鈕層級
避免不要過粗,盡量將許可權細化到按鈕層級,便於控制不同角色的許可權 業務上注意防止越權操作
校正需要操作的資料所有權是否跟當前登入使用者的一致 上傳檔案避免儲存型XSS
例如上傳excel檔案,惡意使用者在excel的幾個欄位中添加js代碼:,可能造成嚴重後果。
解決方案:使用Regex等方法嚴格校正使用者輸入的內容是否符合參數格式&內容要求. 防止CSRF
例如修改密碼功能:惡意使用者可以構造相應的html頁面,供使用者訪問,使用者一旦訪問到該URL,便會使用自己瀏覽器中的cookie向伺服器發送修改密碼的請求。
例如:
某使用者登陸帳號後,訪問我們構造的網站

網頁原始碼如下:

點擊submit request後,即可成功修改了自己的密碼:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.