2010-06-05 25 views
0

Situation: J'ai un frontend Javascript «stupide» qui peut contacter un type de middleware SSO (MW). Le MW peut obtenir des sessions en émettant des demandes contenant des informations d'authentification (nom d'utilisateur, mot de passe). C'est à dire. la session sera créée pour un certain utilisateur.Servlet Session - passer de l'URL Rewriting au cookie

Mon interface doit "redémarrer" la session pour obtenir les autorisations de l'utilisateur sur le système cible. Pour cela, j'ai besoin d'un cookie de session valide.

Le système cible n'est pas sous mon contrôle (il pourrait s'agir d'un WFS plus ou moins public, WMS, etc.), donc je ne peux pas y ajouter de mécanisme SSO.

Question: Est-il possible de "voler" une session en forgeant une requête dont l'URL contient un ID de session valide dans le paramètre jsessionid?

Objectif: Envoyez une telle requête à un servlet et faites-lui répondre avec un en-tête Set-Cookie qui contient le même ID. De cette façon, le frontal rejoint la session et peut faire tout ce que l'utilisateur, qui a été utilisé pour créer la session, est capable de faire.

+0

Cela dépendrait probablement entièrement du backend et de ce qu'il permet. – skaffman

Répondre

0

Votre meilleur pari est un partagé source de données (RDBMS?) Où les informations partagées sont stockées avec un peu long, généré automatiquement, identifiant unique comme la clé (java.util.UUID peut-être?), Puis passer cette touche autour.

+0

C'est un non-go. Les cibles ne sont pas sous mon contrôle et je ne suis pas connu avant le déploiement. – lajuette

+0

Alors c'est en effet un non-go. – BalusC