测试破坏的认证

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

让我们了解威胁代理,攻击向量,安全弱点,技术影响和业务对这个漏洞的影响借助于简单的图表.

2.Broken Auth and Session Mgmt Flaws

示例

An e-commerce application supports URL rewriting, putting session IDs in the URL −

http://example.com/sale/saleitems/jsessionid=2P0OC2JSNDLPSKHCJUN2JV/?item=laptop

经过验证的用户该网站将URL转发给他们的朋友,以了解折扣销售情况.他通过电子邮件发送上述链接,却不知道用户也在放弃会话ID.当他的朋友使用该链接时,他们会使用他的会话和信用卡.

Hands On

第1步登录Webgoat并导航到"会话管理缺陷"部分.让我们通过欺骗cookie来绕过验证.下面是该场景的快照.

2.Broken Auth and Session Mgmt Flaws

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

2.Broken Auth and Session Mgmt Flaws


2.Broken Auth and Session Mgmt Flaws

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

2.Broken Auth and Session Mgmt Flaws

Step 4 现在我们需要分析AuthCookie模式.上半部分'65432'对于两种身份验证都很常见.因此,我们现在有兴趣分析authcookie值的最后部分,例如 -  ubphcfx for webgoat user和udfqtb for aspect user.

步骤5 如果我们深入了解AuthCookie值,最后一部分的长度与用户名的长度相同.因此很明显,用户名与一些加密方法一起使用.经过试用和错误/暴力机制,我们发现在颠倒用户名后,webgoat;我们最终得到了taogbew,然后前面的字母字符被用作AuthCookie.即ubphcfx.

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

2.Broken Auth and Session Mgmt Flaws


2.Broken Auth and Session Mgmt Flaws

防止机制

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

  • 开发人员应确保他们避免了可用于窃取会话ID的XSS漏洞.