1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 悟空云课堂|第四十七期:会话固定(CWE-384: Session Fixation)

悟空云课堂|第四十七期:会话固定(CWE-384: Session Fixation)

时间:2018-08-01 07:26:51

相关推荐

悟空云课堂|第四十七期:会话固定(CWE-384: Session Fixation)

悟空云课堂|第四十七期:会话固定(CWE-384: Session Fixation)

该栏目为中科天齐软件安全中心全新规划的悟空云课堂,每周五准时上线,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。

本期主题为第四十七期:会话固定(CWE-384: Session Fixation)的相关介绍。

01 什么是会话固定?

对用户进行身份鉴别并建立一个新的会话时没有让原来的会话失败。

02 会话固定漏洞的构成条件有哪些?

当用户成功验证而应用程序不更新cookie时,这个时候就存在会话固定漏洞。

HTTP的无状态性,导致Web应用程序必须使用会话机制来识别用户。如果用户未登录时的会话ID和登录后的会话ID保持一致,那么攻击者可以迫使受害者使用一个已知(有效)的会话ID,当受害者通过身份验证,攻击者就可以利用这个会话ID进入验证后的会话(登录状态)。

03 会话固定漏洞会造成哪些后果?

攻击者可诱使用户在攻击者创建的会话基础上进行身份鉴别,从而窃取用户通过身份鉴别的会话并冒充用户进行恶意操作。

04 会话固定漏洞的防范和修补方法有哪些?

对用户进行身份鉴别并建立一个新的会话时让原来的会话失效。核心代码如下。

// 会话失效

session.invalidate();

// 会话重建

session=request.getSession(true);

05 会话固定漏洞样例:

protected WebSession updateSession_DELETEME(HttpServletRequest request,HttpServletResponse response, ServletContext context){HttpSession hs;hs = request.getSession(true);//System.out.println( "Entering Session_id: " + hs.getId() );// dumpSession( hs );// Make a temporary session to avoid the concurreny issue // in WebSessionWebSession session = new WebSession(this, context);WebSession realSession = null;Object o = hs.getAttribute(WebSession.SESSION);if ((o != null) && o instanceof WebSession){realSession = (WebSession) o;}session.setCurrentScreen(realSession.getCurrentScreen());session.setCourse(realSession.getCourse());session.setRequest(request);// to authenticate//System.out.println( "Leaving Session_id: " + hs.getId() );//dumpSession( hs );return (session);}……

“会话固定”在CWE中被编号为:CWE-384:Session Fixation

更多的信息请参考CWE官网:

/data/definitions/384.html

更多安全资讯,请关注 中科天齐软件安全中心

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。