Gestión de sesiones en auditorías
La gestión de sesiones puede pasar desapercibida para muchos usuarios,
pero es un punto en el que el pentester debe analizar e intentar jugar
con ello. Se pueden enumerar un listado de pruebas que se debe realizar a
las famosas cookies para comprobar que las sesiones se están realizando
de manera segura. Es algo procedimental, aunque siempre hay un toque de
experiencia y olfato para llevar a cabo esto.
En primer lugar hay que hablar de los flags secure y HTTP-only.
El primero de ellos debe ser enviado desde el servidor al cliente
cuando éste inicia sesión mediante el protocolo HTTPS. Este flag indica
al navegador que solo puede realizar navegación en este servidor si la
comunicación va cifrada. En caso de detectar que un servidor cuando
asigna la cookie no está enviando el flag y la conexión debe ser segura,
se debe apuntar como fallo de seguridad. En segundo lugar el flag HTTP-only,
el cual ha sido trabajado con anterioridad. Este flag evita que código
script pueda acceder a la cookie, solo siendo el navegador el que puede
hacerlo. La falta de este tipo de mecanismo de seguridad haría que la
cookie pudiera quedar expuesta, de manera más o menos sencilla.
¿Intuitivos? La verdad sí, pero no siempre están bien configurados, y es
algo que se puede encontrar en las auditorías. Tenemos que tener en
cuenta que este tipo de cosas pueden generar agujeros o fallos de
seguridad en nuestras aplicaciones web.
¿Qué mas tenemos que mirar? Comprobar es la validez de una sesión desde distintas direcciones IP.
Este hecho es más común de lo que se puede pensar y se debe valorar en
su justa medida. Quizá no hay que ser extremista con esto, pero siempre
tener a mano esta opción y valorando la criticidad de la aplicación.
Determinar los límites y cierres de la sesión. Es importante comprobar
que el servidor haya realizado correctamente esta acción, para que las
cookies no puedan ser reutilizadas en otro espacio o tiempo.
¿Qué información debe tener una cookie? Existen casos en el que
en la cookie viaja información que no debería. Imaginaros que en la
cookie se envía un user y un hash, ¿Puede ocurrir? La verdad es que sí.
Hay que evaluar cada parámetro de la cookie para verificar que no se
envían parámetros no deseables, ni hay fácil manipulación de la cookie.
Por último, se debe tratar un aspecto matemático, y en ocasiones difícil para ciertos informáticos, como es la predictibilidad
en la generación de valores en las cookies. Algunos de los parámetros
deben ser totalmente aleatorios, y esto en algunas ocasiones no se
cumple, por lo que obteniendo diversas cookies se puede encontrar un
patrón por el que se puede predecir el valor de la cookie.
Estos son algunos consejos sobre cookies y sesiones en auditorías.
Siempre un checklist a mano sobre lo que mirar no está de más, para no
dejarnos nada!
Fuente: FluProyect
Comentarios
Publicar un comentario
siempre es bueno, leer tus comentarios