安全技术研究-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方法使会话失效。

科技分类资讯推荐

长安与东风重组新进展:朱华荣称不会改变长安既定战略 - 天天要闻

长安与东风重组新进展:朱华荣称不会改变长安既定战略

2月9日,长安汽车和东风集团股份(00489.HK)同步发布了控股股东“正在与其他国资央企集团筹划重组事项”的信息。长安汽车的控股股东是兵装集团,而东风集团股份的控股股东是东风公司。随即,长安汽车和东风集团这两家汽车央企将合并重组,成为业内关注的焦点。
公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了 - 天天要闻

公安部出手了!年龄限制放宽10年、送考下乡,2025年考驾照不难了

电动车加强管理以后,要求机动车类型的车辆需要持证上路,但是老年人考驾照却受阻,一方面有年龄的限制,另一方面偏远山区考驾照不方便,所以在2025年公安部出手了,年龄限制放宽10年,同时推出送考下乡服务,还进一步的降低考驾照的费用,2025年起考摩托车驾照不难了。
从“星灵安全守护体系”到昊铂HL,看懂广汽科技日 - 天天要闻

从“星灵安全守护体系”到昊铂HL,看懂广汽科技日

发布会以技术切入,并全程围绕安全展开。广汽集团董事长、总经理冯兴亚率先登场,宣布2025年四季度将正式上市支持L3级智能驾驶的车型,他同时强调面向自动驾驶时代对智能驾驶技术、整车安全架构以及突发风险处理能力的要求更高。如何才能满足更高的要求?冯兴亚提到了“广汽
关税大棒下,最受伤的车企出现了 - 天天要闻

关税大棒下,最受伤的车企出现了

特朗普的关税大棒刚挥出,尚未吓退“外敌”,却先刺痛了自己。近日,拥有玛莎拉蒂、Jeep等14个品牌的全球第四大车企斯泰兰蒂斯突然宣布裁撤900名美国工人,关闭加拿大和墨西哥两家工厂,北美生产线陷入瘫痪。几乎同一时间,捷豹路虎宣布暂停对美出口一个月,奥迪更是直接