elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  token contra CSRF
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: token contra CSRF  (Leído 7,211 veces)
nØFi#
Overclock3r
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.338


\x2E


Ver Perfil
token contra CSRF
« en: 21 Octubre 2009, 20:22 pm »

Buenas,
estoy programando un panel de admin con varios formularios para hacer cosas, la cuestion es que quiero añadir tokens en cada uno de ellos para evitar csrf.
Tengo una duda sobre la creación de dicho token (un numero aleatorio pasado a md5), que seria mejor crear un unico token al hacer login en el panel y usar este para todos los formularios o crear un token distinto cada vez que se acceda a un formulario??
En línea

#
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: token contra CSRF
« Respuesta #1 en: 21 Octubre 2009, 20:53 pm »

esque si haces un solo token para todo entonces el que entre al sistema podrá obtener ese token y usarlo contra otro usuario de esepanel y en el caso de que fuera uno por usuario estarias dando la posibilidad de que si alguien llega a robarle el token a alguien este le podrá ejecutar csrf, en cambio si ese token cambia en cada formulario aunque yo te robe el token no podré ejecutarte nada porque no se cual será el proximo token.
En línea

nØFi#
Overclock3r
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.338


\x2E


Ver Perfil
Re: token contra CSRF
« Respuesta #2 en: 22 Octubre 2009, 09:58 am »

Ahora me surge otra duda sobre la creacion de los tokens..

Supongamos que tenemos 40 formularios diferentes en el panel y cada vez que el usuario entra en uno se genera un token (se guarda el valor del token en la session).

Si el usuario entra en los 40 formularios sin hacer ningun cambio se generan 40 tokens distintos, la pregunta es: se guardan en diferentes variables de session? (es decir $_SESSION['token_formu1'],$_SESSION['token_formu2'],... ) o se guarda en la misma variable todos los formularios?

Guardarlo en diferentes variables lo veo muy ineficiente, porque si entran 1000 usuarios y se generan tropecientos mil valores en la session, el servidor ira muy cargado. Y si el valor se guarda en la misma variable.. que pasaria si se abren dos formularios distintos en pestañas?? petaria fuerte XD

Nose como seria la mejor forma, alguna idea?

Thx!
En línea

#
nØFi#
Overclock3r
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.338


\x2E


Ver Perfil
Re: token contra CSRF
« Respuesta #3 en: 22 Octubre 2009, 11:24 am »

Me he estado leyendo este paper (muy bueno por cierto) y proponen varios metodos para evitar CSRF. Un metodo que me ha gustado es el de generar un token concatenando varios parametros (por ejemplo 'nombre_del_formulario'+secret+sesionID), encriptarlo y meterlo en un hidden (sin guardar en session). Luego cuando validas el formulario vuelves a hacer la concatenacion y comparas que sea igual que el hidden. Este metodo no necesita guardar nada en session, pero por contra necesita mas cpu para ejecutarlo. Creo que usaré este metodo.. alguna sugerencia?? :D
« Última modificación: 22 Octubre 2009, 11:28 am por nØFi# » En línea

#
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: token contra CSRF
« Respuesta #4 en: 22 Octubre 2009, 22:06 pm »

cuando el usuario inicia sesion le haces session_start() y le declaras una variable en su base de datos llamada, luego cuano se carguen los datos a la variable donde contiene los datos del usuario con select * from users tendrás el valor del token y utilizas ese para todos los formularios, luego verificas si el valor del token enviado por la peticion post corresponde al token de su sesion entonces todo bien, si no entonces que indique que su sesion no es valida.
En línea

deibix

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: token contra CSRF
« Respuesta #5 en: 13 Noviembre 2009, 10:28 am »

Ahí va una versión mas nueva del paper que has puesto

https://www.isecpartners.com/files/CSRF_Paper.pdf
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
trabajar con un token
Programación C/C++
bash 3 3,450 Último mensaje 11 Enero 2012, 11:41 am
por Eternal Idol
csrf token
Hacking
fokin 2 3,325 Último mensaje 21 Noviembre 2013, 17:27 pm
por fokin
[netkey] Token HSBC
Hacking
Diabliyo 0 3,097 Último mensaje 18 Marzo 2014, 19:58 pm
por Diabliyo
[Pregunta]: Token CSRF
Desarrollo Web
Leguim 4 3,280 Último mensaje 4 Diciembre 2019, 05:17 am
por @XSStringManolo
[Aporte] Validacion de token de forma Criptografica, evitar ataques CSRF
Desarrollo Web
AlbertoBSD 8 5,259 Último mensaje 14 Diciembre 2019, 03:05 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines