📅  最后修改于: 2020-12-04 05:19:30             🧑  作者: Mango
当与应用程序相关的身份验证功能未正确实现时,它使黑客能够利用密码或会话ID泄露或使用其他用户凭据来利用其他实现缺陷。
让我们借助简单的图表了解此漏洞的威胁代理,攻击媒介,安全漏洞,技术影响和业务影响。
An e-commerce application supports URL rewriting, putting session IDs in the URL −
http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop
该网站的经过身份验证的用户会将URL转发给他们的朋友,以了解打折销售。他通过电子邮件发送以上链接,却不知道用户也正在放弃会话ID。当他的朋友使用链接时,他们将使用他的会话和信用卡。
步骤1-登录到Webgoat并导航到“会话管理缺陷”部分。让我们通过欺骗cookie绕过身份验证。以下是方案的快照。
步骤2-当我们使用凭据webgoat / webgoat登录时,从Burp Suite中发现,成功认证后,JSESSION ID为C8F3177CCAFF380441ABF71090748F2E,而AuthCookie = 65432ubphcfx。
步骤3-当我们使用凭据方面/方面登录时,从Burp Suite中发现,成功认证后,JSESSION ID为C8F3177CCAFF380441ABF71090748F2E,而AuthCookie = 65432udfqtb。
步骤4-现在我们需要分析AuthCookie模式。前半部分的“ 65432”对于两种身份验证都是通用的。因此,我们现在有兴趣分析authcookie值的最后一部分,例如-分别用于webgoat用户的ubphcfx和方面用户的udfqtb。
步骤5-如果我们深入研究AuthCookie值,则最后一部分的长度与用户名的长度相同。因此,很明显,用户名与某种加密方法一起使用。通过反复试验和错误/蛮力机制,我们发现在反转用户名webgoat之后,我们以taogbew结尾,然后使用之前的字母字符作为AuthCookie。即ubphcfx。
步骤6-如果我们传递此cookie值,然后看看会发生什么。验证为用户Webgoat后,通过执行步骤4和步骤5查找相同的AuthCookie,将AuthCookie值更改为模拟用户Alice。
开发强大的身份验证和会话管理控件,使其满足OWASP的应用程序安全验证标准中定义的所有身份验证和会话管理要求。
开发人员应确保避免使用XSS漏洞来窃取会话ID。