0

Um Cookies im Zusammenhang mit Sicherheitslücken zu lösen, habe ich Wrapper auf Anfrage und Antwort in einem meiner Filter geschrieben. In Anfrage wrapper I Cookie unter Verwendung folgenden Code in getSession Methode (außer Kraft gesetzt) ​​Websphere 8.5 Session-Cookies Problem

HttpSession session = getHttpServletRequest().getSession(false); 
String value="JSESSIONID=" + session.getId() +"; Path="+getHttpServletRequest().getContextPath()+"/"; 
     ((HttpServletResponse)response).setHeader("Set-Cookie",value); 

Ansprechend Filter überschreiben habe ich addCookie und addHeader Verfahren außer Kraft gesetzt, das gleiche zu tun.

Der obige Code funktioniert gut für Tomcat und Jboss, aber es gibt Problem auf Websphere 8.5.

Für Websphere 8.5 wird geben Sitzung null in der getSession Methode getHttpServletRequest().getSession(false)

Wenn ich den Netzwerkverkehr von Browsern Entwickler-Tools überprüfen dann für websphere ich mehrere Cookies beobachtet werden auf Antwort hinzugefügt zu werden (eine, die wir hinzugefügt und andere vom Server hinzugefügt), um dies zu vermeiden, habe ich die Einstellung in der Websphere-Sitzungsverwaltung vorgenommen, um die Cookies zu deaktivieren. Dies löst das Problem mit mehreren Cookies, aber das Nullsitzungsproblem besteht weiterhin.

Wie löst man dieses Problem?

Dank

+0

Welche Sicherheitslücken versuchen Sie zu beheben? Sie sollten Session-Cookies, die vom Server-Container erstellt wurden, niemals manuell manipulieren, da sie möglicherweise zusätzliche SSO-/Affinitätsinformationen enthalten und die gesamte Cookie-ID nicht nur mit der Methode 'getId()' empfangene Session-ID erforderlich ist. Bitte entfernen Sie Ihren Filter und erstellen Sie PMR, wenn Sie sicherheitsrelevante Zweifel haben. – Gas

Antwort

0

Sie sollten keine explizite "false" Parameter in Ihrem Code haben, sollten Sie passieren, was Ihre Wrapper übergeben wurde. Sie brechen wahrscheinlich Anrufer, die den Test bestanden haben, und erstellen daher NEW-Sitzungen nicht korrekt.

Sie werden wahrscheinlich auch die Sitzungsaffinität unterbrechen, weil Sie nicht die KlonID kopieren, die auf die Sitzungs-ID folgt.

Warum nicht einfach den Cookie-Pfad in der Konfiguration festlegen, wenn das alles ist, was Sie ändern möchten?