2009-08-24 8 views
5

Ich habe eine ASP.NET 3.5-Website, die den Standard-SQL-Mitgliedschaftsanbieter verwendet.Warum akzeptiert ASP.NET extern erstellte Sitzungskennungen?

Die Anwendung muss IBM Rational AppScan weitergeben, bevor wir in Produktion gehen können.

Ich erhalte den Fehler:
Schweregrad: Hoch
Testtyp: Anwendung
Vulnerable URL: http://mytestserver/myapp/login.aspx
Remediation Aufgaben: nicht extern Sitzungsidentifikatoren

erstellt Akzeptieren

Was kann ich tun um das zu beheben?

Ich verwende SQL-Mitgliedschaftsanbieter. Ist das verwandt? Ich verwende auch die Standard-Login-Steuerelemente. Ich habe das "Remember Me" ausgeschaltet und versteckt.

Danke.

+0

Ich kann mir keinen Grund vorstellen, warum das von Natur aus schlecht wäre? Ändert nicht die Tatsache, dass sie danach suchen, aber ich frage mich, warum. – Thorarin

Antwort

8

Dies ist keine Sicherheitslücke (und ich mag AppScan wegen seiner falschen Positivität nicht wirklich es - die Anzahl der Male, die ich musste erklären, CSRF-Cookies müssen nicht mit einer Sitzung auf meinem kleinen Open-Source-Projekt verknüpft werden wird nervig).

Alles, was in diesem Fall passieren wird, ist das erste Mal, dass alles im Sitzungszustand mit einer erstellten Sitzungskennung gespeichert wird. Eine neue Sitzung wird auf dem Server mit nichts geöffnet. Wenn Sie sich um eine Sitzungsfixierung sorgen, können Sie den Cookie nach der Authentifizierung löschen.

Aber mit Formularauthentifizierung werden die Authentifizierungsdetails nicht in der Sitzung gehalten, und so ist die Fixierung überhaupt kein Problem.

Ehrlich gesagt, wenn Sie müssen Sicherheitsüberprüfungen passieren, ohne dass jemand auswertet, wenn die Ergebnisse nicht falsch positive sind, dann ist das ein ganz anderes Problem.

+0

Danke. Ich habe dies jedoch versucht, aber IBM Rational AppScan meldete denselben Sicherheitsfehler. –

+0

Es ist jedoch keine Schwachstelle und deine Erklärung ist falsch. Sie haben eine falsche Antwort geschrieben und akzeptiert. – blowdart

+0

Ich stimme dir zu, aber nur zu sagen, es ist nicht genug. Ich mag auch das AppScan-Tool nicht, aber das ist die Welt, in der ich lebe. Ich verschwende jeden Tag ungefähr ein Projekt. Bis sie die Politik ändern, muss ich damit leben. –

0

Es würde scheinen RegenerateExpiredSessionId Eigenschaft steuert dies. Setzen Sie es auf wahr. Halten Sie die Auszeit auch auf einen niedrigen Wert, der von den Benutzern am besten akzeptiert wird (z. B. 10 bis 15 Minuten).

+1

Danke. Ich habe das versucht, aber IBM Rational AppScan trifft die Website alle paar Sekunden. Den Wert auf 10 Minuten zu senken, hilft nicht. –