CWE-384:会话固定
查看自定义信息:
通常观察到这种情况时:
![]() ![]()
![]() ![]()
![]() ![]()
![]() 语言 班级:不是特定语言的(不确定的患病率) ![]()
示例1 下面的示例显示了从J2EE Web应用程序中的代码段,该应用程序在不首先调用httpsession.invalidate()的情况下使用logincontext.login()对用户进行身份验证。
(不良代码)
示例语言:爪哇
私有void auth(logincontext LC,httpsessions会话)抛出loginexception {
... }lc.login(); ... 为了利用上面的代码,攻击者可以首先从公共终端创建会话(也许是登录应用程序),记录应用程序分配的会话标识符,然后将浏览器重置为登录页面。接下来,受害者坐在同一公共终端时,请注意浏览器打开到网站的登录页面,并输入凭证以对应用程序进行身份验证。负责对受害者进行身份验证的代码继续使用预先存在的会话标识符,现在攻击者只是使用前面记录的会话标识符来访问受害者的活动会议,从而几乎不受限制地访问了会议寿命的受害者帐户。即使考虑到脆弱的应用程序,此处描述的特定攻击的成功取决于攻击者有利于攻击者的几个因素:访问不受监督的公共终端,使妥协的会话保持活跃的能力和受害者有兴趣登录该的受害者公共终端上的脆弱应用。 在大多数情况下,考虑到足够的时间投资,前两个挑战是可以克服的。只要该网站很受欢迎,找到既使用公共码头又有兴趣登录脆弱应用程序的受害者也是可能的。该站点鲜为人知的是,使用公共码头的有兴趣受害者的几率越低,上述攻击向量的成功机会就越低。攻击者在利用会话固定漏洞方面面临的最大挑战是,使用攻击者已知的会话标识符诱使受害者对弱势应用程序进行身份验证。 在上面的示例中,攻击者通过直接的方法进行了此操作,该方法不是微妙的,并且不适合涉及涉及不太知名网站的攻击。但是,不要使自满情绪陷入自满情绪;攻击者的皮带中有许多工具,可以帮助绕过该攻击向量的局限性。攻击者采用的最常见技术是利用目标位点中的跨站点脚本或HTTP响应分裂漏洞的优势[12]。通过欺骗受害者向反映JavaScript或其他代码回到受害者浏览器的脆弱应用程序中,将恶意请求提交,攻击者可以创建一个cookie,这将导致受害人重复使用攻击者控制的会话标识符。值得注意的是,cookie通常与给定URL相关的顶级域绑定。如果多个应用程序位于同一顶级域上,例如bank.example.com和coppes.example.com,一个应用程序中的漏洞可以允许攻击者设置使用固定会话标识符的cookie,该cookie将用于所有交互中在域示例上使用任何应用程序[29]。 示例2 下面的示例显示了从J2EE Web应用程序中的代码段,该应用程序通过直接发布到
(不良代码)
示例语言:html
![]()
其他
其他攻击向量包括DNS中毒和基于网络的攻击,攻击者通过重定向有效网站的请求来导致用户访问恶意站点。基于网络的攻击通常涉及受害者网络上的物理存在或网络上受损的机器的控制,这使得它们更难远程利用,但不应忽略其意义。较不安全的会话管理机制,例如Apache Tomcat中的默认实现,允许在URL上指定cookie中通常预期的会话标识符,这使攻击者能够使受害者仅通过通过电子邮件发送电子邮件来使受害者仅使用固定的会话标识符恶意URL。
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |