Hi,
ich bin gerade dabei eine Internetseite zu coden. Ich möchte das Loginscript (natürlich) gegen Session Fixation Angriffe absichern. Ich hab jetzt mehrere Probleme (und generell sowas noch nie gemacht).
1. Problem:
Jedenfalls rufe ich in der Login Seite (Admin Seite) folgenden Code auf, um eine neue Session zu erhalten:
<jsp:scriptlet>
// always generate new session id to prevent Session-Fixation exploits
session.invalidate();
request.getSession(true);
</jsp:scriptlet>
Das funktioniert auch, aber NUR wenn man 2 mal auf den Link zur Login Seite klickt. Beim ersten Ansteuern der Seite verändert sich die Session nicht! Und das kann sicher nicht im Sinne des Erfinders sein. Also 1. Frage warum funktioniert das nicht?
2. Problem
Die Session Id die dann in der Login Seite neu erzeugt wird, geht immer verloren. Es sieht so aus, als ob einfach eine neue Session erzeugt wird oO
Klickt man nachdem man auf der Admin Seite war also auf irgend einen Link, wird eine neue Id erzeugt. Obwohl ich ja keinen expliziten Code dafür habe.
Liegt das vielleicht daran, dass ich die Session in der index.jspx erstmalig erzeuge und in der index.jspx alle anderen Dateien included werden? Ich hab echt keine Ahnung. Bin nun seit Stunden am Googeln und hab schon alles mögliche ausprobiert. Die Session erst in der admin.jspx zu erzeugen und dann weiterzugeben funktioniert auch nicht…
Die Übergabe der Session ID erfolgt bis jetzt über Cookies.
Hier der Code der index.jspx:
http://nopaste.coding-community.net/view.php?id=389
Die inhalt.jspx (dort werden die verschiedenen Scripte/Seiten geladen):
http://nopaste.coding-community.net/view.php?id=390
und schließlich die admin.jspx wo der User die Login Daten eingeben kann:
http://nopaste.coding-community.net/view.php?id=391
Ich denke das müsste an Infos genügen und hoffe auf HIlfe…
Gruß
Revenant