测试损坏的身份验证

测试损坏的身份验证


当与应用程序相关的身份验证功能未正确实施时,它允许黑客破坏密码或会话 ID 或使用其他用户凭据利用其他实施缺陷。

让我们借助简单的图表了解此漏洞的威胁代理、攻击向量、安全弱点、技术影响和业务影响。

2.Broken Auth和Session Mgmt缺陷

例子

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.Broken Auth和Session Mgmt缺陷

第 2 步– 当我们使用凭证 webgoat/webgoat 登录时,我们从 Burp Suite 中发现 JSESSION ID 为 C8F3177CCAFF380441ABF71090748F2E,而 AuthCookie = 65432ubphcf​​x 成功验证后。

2.Broken Auth和Session Mgmt缺陷

2.Broken Auth和Session Mgmt缺陷

第 3 步– 当我们使用凭据方面/方面登录时,我们从 Burp Suite 中发现 JSESSION ID 是 C8F3177CCAFF380441ABF71090748F2E,而 AuthCookie = 65432udfqtb 成功认证后。

2.Broken Auth和Session Mgmt缺陷

第 4 步– 现在我们需要分析 AuthCookie 模式。前半部分“65432”对于两种身份验证都是通用的。因此,我们现在有兴趣分析 authcookie 值的最后一部分,例如分别用于 webgoat 用户的 ubphcf​​x 和用于方面用户的 udfqtb。

第 5 步– 如果我们深入研究 AuthCookie 值,最后一部分的长度与用户名的长度相同。因此很明显,用户名与某种加密方法一起使用。经过反复试验/蛮力机制,我们发现在反转用户名后,webgoat;我们最终得到 taogbew,然后前面的字母字符被用作 AuthCookie。即 ubphcf​​x。

第 6 步– 如果我们传递这个 cookie 值并让我们看看会发生什么。在作为用户 webgoat 进行身份验证后,通过执行步骤#4 和步骤#5 找到相同的 AuthCookie,更改 AuthCookie 值以模拟用户 Alice。

2.Broken Auth和Session Mgmt缺陷

2.Broken Auth和Session Mgmt缺陷

预防机制

  • 开发强大的身份验证和会话管理控制,使其满足 OWASP 应用程序安全验证标准中定义的所有身份验证和会话管理要求。

  • 开发人员应确保避免可用于窃取会话 ID 的 XSS 缺陷。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁