2009-08-24 14 views
5

Tengo un sitio web ASP.NET 3.5 que utiliza el proveedor de membresía SQL estándar.¿Por qué ASP.NET acepta identificadores de sesión creados externamente?

La aplicación debe pasar IBM Rational AppScan antes de que podamos pasar a la producción.

estoy consiguiendo el error:
Severidad: Alta Tipo
prueba: Aplicación
vulnerable URL: http://mytestserver/myapp/login.aspx
Remediation Tareas: no aceptan identificadores de sesión creados externamente

¿Qué puedo hacer yo ¿para arreglar esto?

Estoy usando el Proveedor de Membresía SQL. ¿Esto está relacionado? Estoy usando los controles de inicio de sesión estándar también. Tengo el "Recordarme" desactivado y oculto.

Gracias.

+0

No puedo pensar en ninguna razón por la cual esto sería inherentemente malo? No cambia el hecho de que lo comprueban, pero me pregunto * por qué *. – Thorarin

Respuesta

8

Esto no es una vulnerabilidad (y realmente no me gusta AppScan debido a su falso positiv es: la cantidad de veces que he tenido que explicar las cookies de CSRF no necesita estar vinculada a una sesión de mi pequeño proyecto de código abierto que se está volviendo molesto).

Todo lo que sucederá en este caso es la primera vez que se almacena algo en estado de sesión con un identificador de sesión creado, se abrirá una nueva sesión en el servidor, sin nada en ella. Si le preocupa la fijación de sesión, puede borrar la cookie después de la autenticación.

Session.Abandon(); 
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 

Pero con la autenticación de formularios los detalles de autenticación no se llevan a cabo en la sesión y así la fijación no es un problema en absoluto.

Francamente, si usted mosto análisis de seguridad pasar sin que nadie evaluar si los resultados no son falsos positivos, entonces eso es un problema completamente diferente.

+0

Gracias. Sin embargo, probé esto, pero IBM Rational AppScan informó el mismo error de seguridad. –

+0

Aunque no es una vulnerabilidad y su explicación es incorrecta. Usted ha escrito y aceptado una respuesta incorrecta. – blowdart

+0

Estoy de acuerdo contigo, pero solo decirlo no es suficiente. Tampoco me gusta la herramienta AppScan, pero ese es el mundo en el que vivo. Pierdo un día más o menos en cada proyecto. Hasta que cambien de política, tengo que vivir con eso. –

0

Parece que la propiedad RegenerateExpiredSessionId está controlando esto. Hazlo en verdadero. También mantenga el tiempo de espera en un valor bajo y el valor más bajo aceptable para los usuarios (por ejemplo, 10 a 15 minutos).

+1

Gracias. Intenté esto, pero IBM Rational AppScan está llegando al sitio cada pocos segundos. Bajar el valor a 10 minutos no ayuda. –

Cuestiones relacionadas