當與應用程式相關的身份驗證功能未正確實現時,它允許駭客利用其他使用者憑據破壞密碼或對談ID或利用其他實施缺陷。
下面我們藉助簡單的圖表來瞭解這個漏洞的威脅代理,攻擊向量,安全弱點,技術影響和業務影響。
電子商務應用程式支援URL重寫,將對談ID放在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步 - 當使用憑證aspect/aspect
登入時,我們從Burp Suite中發現JSESSION ID是C8F3177CCAFF380441ABF71090748F2E
,而成功驗證後AuthCookie = 65432udfqtb
。
第4步 - 現在我們需要分析AuthCookie模式。上半部分’65432’對於兩種身份驗證都很常見。因此,我們現在分析authcookie值的最後部分,例如 - 對於webgoat
使用者的ubphcfx
和對於aspect
使用者的udfqtb
。
第5步 - 如果我們深入了解AuthCookie值,最後一部分的長度與使用者名的長度相同。因此很明顯,使用者名與一些加密方法一起使用。經過試用和錯誤/暴力機制,我們發現在顛倒使用者名後,webgoat
,最終得到了taogbew
,然後前面的字母字元被用作AuthCookie。即ubphcfx
。
第6步 - 如果傳遞此cookie值,看看會發生什麼。在使用者webgoat
進行身份驗證後,通過執行第4步和第5步,通過查詢AuthCookie來驗證使用者Alice,以更改AuthCookie值。