首頁 >类库下载 >java类库 >【Java】系統漏洞:關於使用者登入後操作的注意事項

【Java】系統漏洞:關於使用者登入後操作的注意事項

高洛峰
高洛峰原創
2016-10-13 12:50:531740瀏覽

專案背景:

SpringMVC + Mybatis  + MySql資料庫(javaWeb專案開發)

相關模組:登錄,個人詳細資料修改,訂單詳情查詢

相關漏洞介紹:

 『1.碼一定要在後台做驗證,如果只是前台驗證驗證碼後,後台未驗證,可能會發生第一次驗證驗證碼後,通過工具繞過驗證碼進行暴力破解;

  2.攔截器:要對登入後的如個人資訊操作的介面名稱要使用/user或/admin進行攔截,如使用者未登錄,將自動跳轉至登入頁面;

  3.個人詳細資料修改:使用者的資訊要存放在session裡面,如用戶的id,這樣進行個人資訊修改的時候,如果是免密接口(即修改信息不需要密碼),修改帳號信息的時候,一定不要直接傳用戶的id來做唯一的標識,使用用戶的關鍵性資訊的時候,可以從session獲取當前登入使用者的信息,防止如帳戶為3000001的用戶登入後修改帳戶3000002的用戶的個人資訊;

  4.訂單詳情介面:如果是查詢用戶的訂單詳情,查詢用戶的訂單詳情,只透過訂單id進行查詢的話,即使介面名稱加了/user,攔截了未登入的用戶,也有可能發生其他用戶登入後可以查詢到非本人訂單的詳情。對於此種情況,請務必在查詢訂單詳情前,請驗證此訂單是目前登入使用者的個人訂單,即驗證session中的id與此訂單的創建人的id一致;防止資訊的洩露;

(備註:以上漏洞真實發生過,發出來希望其他新人引以為戒,也希望能和更多的人一起交流開發中遇到的問題)


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn