Mitigate TokenChpoken attack on PeopleSoft
Problem this snippet solves:
The TokenChpoken attack, which affects systems that use Single Sign-On (SSO), is possible because an authentication cookie (PS_TOKEN) used by PeopleSoft applications can be forged.
The PS_TOKEN cookie is generated when a user first signs in to a PeopleSoft application. When users log in to a different server, the browser sends this cookie for authentication so that the user doesn’t have to enter his/her credentials again.
The complete description of the attack can be found here :
https://erpscan.com/press-center/blog/peoplesoft-security-part-3-peoplesoft-sso-tokenchpoken-attack/
How to use this snippet:
insert the code example in the Virtual Server that publish the PeopleSoft application.
External links
Github : https://github.com/e-XpertSolutions/f5
Code :
when RULE_INIT { set cookieToken "PS_TOKEN" # to be changed prior to any publishing set passphrase "hEuoYjmFUpB4PcpO3bUdQtLP4ic7jjm" } when HTTP_RESPONSE { if { [HTTP::cookie exists $cookieToken ] } { HTTP::cookie encrypt $cookieToken $passphrase } } when HTTP_REQUEST { if { [HTTP::cookie exists $cookieToken ] } { set decrypted [HTTP::cookie decrypt $cookieToken $passphrase] if { ($decrypted eq "") } { # Cookie wasn't encrypted, delete it HTTP::cookie remove $cookieToken } } }
Tested this on version:
11.5