Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Shell Root en 14 Abril 2011, 04:01 am



Título: Tokens?
Publicado por: Shell Root en 14 Abril 2011, 04:01 am
Bueno, hace varios días que ando programando, y ahora me dio la curiosidad de saber sobre los tokens.
No entiendo muy bien como funcionan, es decir, como se crean -no en código sino en acciones-


Título: Re: Tokens?
Publicado por: Nakp en 14 Abril 2011, 06:38 am
el token es como una verificacion captcha, se crea cuando se carga el formulario (se inicia una sesion) y se comprueba al hacer un cambio, es para evitar el CSRF, se utiliza sobre todo en tareas de administracion... por ejemplo un script que borre un usuario :)

dominio1.tld/usuario.php?accion=borrar&id=12345

pues supon que el administrador de dominio1.tld entro a dominio2.tld y habia una "imagen" que apuntaba hacia esa url lo cual haria que, si el admin esta autenticado en su sitio, borrara al usuario con id 12345 porque se genera una peticion y el admin obviamente, habia iniciado sesion :)

sin embargo si la accion borrar necesitara un token obligatoriamente y que ademas este sea iniciado en una sesion cada cierto tiempo la tecnica anterior no funcionaria porque no puedes poner una sesion aleatoria en la "imagen" si esta es generada por la aplicacion y ademas deben coincidir :xD

jajajaja no soy muy bueno explicando esto pero espero que algo hayas entendido :xD

saludos

pd: recuerdo como en un foro enermano borramos encuestas asi x'D agregando el link para eliminar la encuesta en nuestras firmas y el administrador "veia" nuestras imagenes y sin saberlo borraba cada encuesta x'D


Título: Re: Tokens?
Publicado por: Shell Root en 15 Abril 2011, 04:08 am
Ahh ok, pero entonces supongo que ese token por usuario, deberá guardarse en la base de datos, no? En caso de que sí, -aunque me lo supongo-, la consulta continua no sería mucho tiempo perdido.


Título: Re: Tokens?
Publicado por: Nakp en 15 Abril 2011, 05:06 am
puede ser una sesion en la base de datos o usar la misma de php, por lo general la de php es mas que suficiente ya que por lo general el hash se genera en base a ciertos criterios (nick, ip, fecha)

como un captcha :P


Título: Re: Tokens?
Publicado por: chachito en 27 Abril 2011, 21:39 pm
Sin embargo los tokens nunca supliran un captcha un token puede ser facilmente vulnerado con cualkier bot


Título: Re: Tokens?
Publicado por: ~ Yoya ~ en 27 Abril 2011, 22:29 pm
Sin embargo los tokens nunca supliran un captcha un token puede ser facilmente vulnerado con cualkier bot

Su proposito no es evitar un bot, sino CSRF(Cross site request forgery) (http://en.wikipedia.org/wiki/Cross-site_request_forgery).