0

I am using OkHttp to login to a website with username and password. After login any attempt to request a resource is followed with a token=xxxxxxaxx-xxax-xxxa-xxaa-axaxxaxaxxxx in the query path.

I am not certain this is a security token, or just a UUID? It follows the format 8-4-4-4-12 in length and is always lower case alphanumeric.

In order to send new requests to the service I need to acquire/generate token after login. In some cases I note in future requests that both the InstanceId=&token= is passed - where they both pass the same value for token and instanceid.

After login I do not see this token in the of the response headers, it just starts to appear in all future requests.

After login the following URLs are accessed:

portal
launch
htmlnavigator
getCSRFTokenVaue
getUserLocale
createToken

I have confirmed that the token returned by the createToken URL is not the same token that is used in later requests.

The various cookies sent by the server I can user with CookieManager, but where does the security token come from (or usually come from?) - What browser tools might help me beyond reading all the headers and responses.

It is a REST service, and each frame within the browser gets its own token, so difference requests in the same frame use the same token, open a new frame and that frame uses a new token.

The token is passed in the URI. The web application UI has frames/pages within the main page and opening each new page generates a new token specific to that page Multiple requests to each frame all send the same token so the tokens are not query authentication (like here)

If more information is required I will update the question but I can not name the system.

Ray Bond
  • 427
  • 3
  • 11

1 Answers1

0

It may not be possible to know exactly what the url token is used for, but from what you say, different frames (tabs) in the same browser get different tokens, so it could be a frame specific session id (unusual but might be used to permit multiple sessions in systems where auth is stateless while preventing side-channel attacks) or more likely a form of double-submit CSRF token.

Jens Roland
  • 27,450
  • 14
  • 82
  • 104