2009-08-24 11 views
5

Mam witrynę sieci Web ASP.NET 3.5 przy użyciu standardowego dostawcy członkostwa SQL.Dlaczego program ASP.NET akceptuje identyfikatory sesji utworzone zewnętrznie?

Aplikacja musi przejść produkt IBM Rational AppScan, zanim będziemy mogli przejść do produkcji.

otrzymuję błąd:
Zagrożenie: Duże Rodzaj
testową: application
narażony URL: http://mytestserver/myapp/login.aspx
rekultywacją Zadania: nie akceptują tworzone zewnętrznie identyfikatory sesji

Co mogę zrobić to naprawić?

Używam programu SQL Membership Provider. Czy to jest powiązane? Używam również standardowych elementów sterujących logowania. Mam "Remember Me" wyłączone i ukryte.

Dzięki.

+0

Nie mogę wymyślić żadnego powodu, dla którego byłoby to z natury złe? Nie zmienia faktu, że sprawdzają, ale zastanawiam się * dlaczego *. – Thorarin

Odpowiedz

8

To nie jest luka w zabezpieczeniach (i naprawdę nie lubię AppScan z powodu fałszywej pozytywnej es - ile razy musiałem tłumaczyć, że pliki cookie CSRF nie muszą być powiązane z sesją w moim małym projekcie open source, staje się denerwujące).

Wszystko, co stanie się w tym przypadku, to pierwszy raz, gdy wszystko jest przechowywane w stanie sesji z utworzonym identyfikatorem sesji, a nowa sesja zostanie otwarta na serwerze, bez niczego. Jeśli obawiasz się naprawy sesji, możesz wyczyścić plik cookie po uwierzytelnieniu.

Jednak przy uwierzytelnianiu formularzy szczegóły uwierzytelniania nie są przechowywane w sesji, więc utrwalenie nie stanowi problemu.

Szczerze mówiąc, jeśli musi przejść przejść skany bezpieczeństwa bez oceny, czy wyniki nie są fałszywie pozytywne, to zupełnie inny problem.

+0

Dzięki. Próbowałem tego, ale IBM Rational AppScan zgłosił ten sam błąd bezpieczeństwa. –

+0

Nie jest to jednak usterka, a twoje wyjaśnienia są błędne. Napisałeś i zaakceptowałeś niepoprawną odpowiedź. – blowdart

+0

Zgadzam się z Tobą, ale samo mówienie, że to nie wystarczy. Nie lubię też narzędzia AppScan, ale to jest świat, w którym mieszkam. Tracę dzień lub dwa na każdym projekcie. Dopóki nie zmienią polityki, muszę z tym żyć. –

0

Wygląda na to, że kontroluje to właściwość RegenerateExpiredSessionId. Ustaw tę wartość na true. Należy również zachować limit czasu i niską wartość, która jest maksymalnie akceptowalna dla użytkowników (na przykład 10-15 minut).

+1

Dzięki. Próbowałem tego, ale IBM Rational AppScan trafia na stronę co kilka sekund. Obniżenie wartości do 10 minut nie pomaga. –

Powiązane problemy