安全技術研究-Broken Session Management(JAVA代碼)

2022年12月05日22:35:08 科技 1467

漏洞代碼示例(JAVA servlets)

安全技術研究-Broken Session Management(JAVA代碼) - 天天要聞

認證成功後,當前會話不會失效:

public void doAction(HttpServletRequest request, HttpServletResponse response) {
    String pwd = request.getParameter("j_password");
    String usr = request.getParameter("j_username");
    SessionUser user = persistenceController.loginUser(usr, pwd);
    String msg = "";
    try {
        if (user != null) {

            // XXX session not invalidated!

            request.getSession().setAttribute(Constants.USER, user);
            msg = messageGenerator.RedirectMessage("/ok.html");
        } else {
            msg = messageGenerator.redirectMessage("/error.html");
        }

        PrintWriter out;
        out = response.getWriter();
        out.print(msg);
        out.flush();
    } catch (IOException e) {
        // ...
    }
}

解決方案是使當前會話無效,然後為新登錄的用戶創建一個新的會話:

request.getSession().invalidate();
request.getSession(true);

另一個漏洞代碼示例

安全技術研究-Broken Session Management(JAVA代碼) - 天天要聞


在本例中,註銷時會話不會失效。cookie的值只在用戶的瀏覽器中被清除:

@Override
public void doAction(HttpServletRequest request, HttpServletResponse response) {
    Cookie cookie = new Cookie("JSESSIONID","LOGOFF");
    response.addCookie(cookie);

    // XXX session not invalidated!

    response.sendRedirect("/");
}

解決方案是使會話失效:

request.getSession().invalidate();

如何防護

對於會話固定的問題,在用戶身份驗證成功後調用HttpSession類的invalidate方法。然後通過將true傳遞給HttpServletRequest類的getSession方法來創建一個新的會話。

第三方框架可能已經集成了處理會話管理的解決方案;一定要通過閱讀第三方框架的幫助文檔了解如何使會話失效。

確保在註銷時通過調用HttpSession類的invalidate方法使會話失效。

科技分類資訊推薦

嵐圖夢想家6月限時補貼5.5萬起 豪華套件0元升級 - 天天要聞

嵐圖夢想家6月限時補貼5.5萬起 豪華套件0元升級

6月6日,嵐圖汽車官方宣布最新限時購車政策:6月7日至6月30日期間,用戶下定並交付全新嵐圖夢想家,可立省現金5.5萬起,包括限時廠家補貼1萬元,國家及地方政府補貼至高1.5萬元,限時保險補貼5000元,限時享全品牌置換補貼5000元起,並享受限時3年0息金融
2027年換代豐田Harrier前瞻:極致轎跑風+新1.5T混動系統 - 天天要聞

2027年換代豐田Harrier前瞻:極致轎跑風+新1.5T混動系統

自2020年6月現行版本推出以來已過去約6年,新款Harrier的全貌終於逐漸清晰。隨着新款RAV4於2025年5月21日在全球首發,採用相同GA-K平台的下一代Harrier也備受關注。Harrier原本預計將在2026年左右進行換代。然而,由於豐田目前仍面
行業首發三大場景,小鵬聯手華為做出世界最好AR-HUD - 天天要聞

行業首發三大場景,小鵬聯手華為做出世界最好AR-HUD

昨日,小鵬汽車聯合華為智能汽車解決方案發布世界最好的車載AR-HUD——「追光全景」抬頭顯示,這是全球首個真正融入AI智駕的HUD解決方案,也是視覺效果最好的AR-HUD。發布會上,小鵬汽車副總裁、產品運營中心負責人陳永海表示:HUD的最大價值是對人的引導,強
800V+華為乾崑智駕,奧迪Q6L e-tron對比蔚來ES6誰更強? - 天天要聞

800V+華為乾崑智駕,奧迪Q6L e-tron對比蔚來ES6誰更強?

在2025粵港澳車展上,一汽奧迪Q6L e-tron家族正式開啟預售,作為PPE純電平台打造的首款旗艦車型,其在智能座艙、智能輔助駕駛、電子電氣架構以及“三電”系統方面實現了全面革新,堪稱今年豪華純電車市場的重磅之作。
座椅皮革如何清理? - 天天要聞

座椅皮革如何清理?

在汽車的使用過程中,一般深色衣服極其容易褪色,久而久之淺色皮革上會沾有一點顏色;另外灰塵、飲料、食物、油漬類等沾到皮革表面,也很影響座椅表面的清潔度。
哈弗 H6 國潮版一口價 7.19 萬元起!配備 12.3 英寸中控屏 - 天天要聞

哈弗 H6 國潮版一口價 7.19 萬元起!配備 12.3 英寸中控屏

在緊湊型 SUV 市場的激烈角逐中,哈弗 H6 國潮版以震撼低價掀起購車熱潮 —— 一口價 7.19 萬元起的超值定價,搭配越級配置,成為家庭用戶的高性價比之選。其中,1.5T 手動兩驅都市版售價 7.19 萬元,1.5T 自動兩驅都市版售價 8.19 萬元,
極狐全新轎車諜照曝光!或命名為極狐 S1 - 天天要聞

極狐全新轎車諜照曝光!或命名為極狐 S1

新能源汽車賽道競爭愈發激烈,各車企紛紛加速新品布局。近日,一組極狐全新轎車的諜照在網絡上曝光,據悉,這款新車或命名為極狐 S1。儘管諜照中的車輛身披厚重偽裝,但仍難掩其獨特魅力,從外觀到內飾,再到動力系統,都引發了市場的廣泛猜測與期待。