天天看點

SAP Cloud for Customer和Hybris Commerce的session保護機制C4C in ABAPHybris

C4C in ABAP

參閱Jerry的SAP社群部落格:

Regarding cookie manipulation in CL_HTTP_CLIENT to avoid CSRF token validation failure issue

https://blogs.sap.com/2017/08/04/regarding-cookie-manipulation-in-cl_http_client-to-avoid-csrf-token-validation-failure-issue/

Hybris

這個HybrisSessionFixationProtectionStrategy是個什麼東東?

Spring裡自帶了一個SessionFixationProtectionStrategy:

Session fixation attack(會話固定攻擊)是利用伺服器的session不變機制,借他人之手獲得認證和授權,然後冒充他人。如果應用程式在使用者首次通路它時為每一名使用者建立一個匿名會話,這時往往就會出現會話固定漏洞。然後,一旦使用者登入,該會話即更新為通過驗證的會話。最初,會話令牌并未被賦予任何通路權限,但在使用者通過驗證後,這個令牌也具有了該使用者的通路權限。

防止會話固定攻擊,可以在使用者登入成功後重新建立一個session id,并将登入前的匿名會話強制失效。

Hybris的做法:繼承了HybrisSessionFixationProtectionStrategy,override了onAuthentication:

在第135行将之前的session強制失效。

這個實作的位置:

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。