Ja, wenn Sie den Sitzungsschlüssel eines anderen Benutzers erraten können, können Sie dieser werden. Aus diesem Grund benötigen Sie einen unvorhersehbaren Sitzungsschlüssel, der widerrufen werden kann.
Es gab Fälle, in denen Best Practices nicht befolgt wurden. Beispielsweise hat Moonpig eine API erstellt, die einen Sitzungsschlüssel verwendet, bei dem es sich um die Benutzer-ID handelt, die bei der Kontoerstellung als fortlaufende Nummer festgelegt wird. Dies bedeutete, dass Sie jeder Benutzer sein konnten. Wenn dieser Benutzer Sie aufhalten wollte, konnte er dies nicht, da dies der Schlüssel für alle Sitzungen ist, an denen er beteiligt ist, und kann nicht geändert werden, da es sich um die eindeutige ID für ihn in der Moonpig-Datenbank handelt.
Dies ist ein wirklich gutes Beispiel dafür, wie man es falsch macht. Sitzungsschlüssel sollten unvorhersehbar sein und weggeworfen werden können (möglicherweise kann ein Benutzer viele Sitzungsschlüssel haben).
Wie in den Kommentaren von @Mindwin erwähnt, sollte sich der Sitzungsschlüssel in der HTTP-Nutzlast (Cookies) befinden oder Formulardaten [Best Practice ist in Cookies]) und nicht in der URL. Dies liegt daran, dass Sitzungsdaten in der URL dazu führen, dass Sie sie in die URL jedes Links einfügen müssen, und Sie daran hindern, eine Sitzung beizubehalten, wenn der Benutzer die URL verlässt und zurückkommt, die URL kopiert und an jemanden sendet, der ihm Ihre Sitzung gibt Daten und es gibt eine Begrenzung der Zeichen, die eine URL sein kann.
Sie sollten nach Möglichkeit auch HTTPS verwenden, damit ein Angreifer die HTTP-Nutzdaten nicht abhören und auf diese Weise eine Kopie des Sitzungsschlüssels erhalten kann (So hat Firesheep funktioniert).