Primero quiero explicar un poco como funciona el ataque...
Nosotros descubrimos que las cookies de un banco duran mas del tiempo que deberían durar entonces si nosotros entramos a:
http://feisbuk.com --> nos logueamos
nos manda a:
http://feisbuk.com/home
ahora si nosotros entramos mañana y las cookies no se vencen como deberían y hay problemas con las sessiones entonces nos debería de mandar a
http://feisbuk.com/home --> sin haberse logueado el mismo dia
Ahora digamos que queremos agregar un amigo a feisbuk, nuestro amigo será Jorge Romero.
POST http://feisbuk.com/friends.php HTTP/1.1
...
...
...
...
======================
name=jorge&lname=romero
Como vemos tenemos la parte importante, lo que nos interesa es: name=jorge&lname=romero una ves que tenemos eso el resto ya es más fácil.
si nosotros quisieramos información sobre un tal david andrade el cual no nos acepta como amigo y sabemos que le gustan los carros podriamos hacer lo siguiente...
desde:
un mail cualquiera (podemos usar un mailer) mandarle un correo falso incluyendo lo siguien en el mail:
Código:
<a href="http://feisbuk.com/friends.php?name=seguridad&lname=blanca">Click para ver los últimos carros </a>
Si el diera click nosotros podriamos obtener su admistad automatica en feisbuk...
lógico esto no debería ocurrir por que los bancos deberían poner ciertos tokens que duren minutos para agregar amigos y siempre ver referer y una cantidad de cosas para proteger al usuario.
Ahora si viene la parte que a muchos le ha de gustar y a otros le divertirá aprender esto...
Explotandolo en un banco:
Nuestro usuario del banco Armando Bronca le ah hecho una tranferencia de 10 Dolares a Perico Palotes y cuando dio click lo que se hizo fue esto...
http://bancodelanacionytodoslospaises.com/account/transferir.php?acct=pericopalotes&amount=10&moneda=dolar
ahora vamos a hacer lo mismo que hicimos en FeisBuk...
le mandamos un mail a nuestra victima que le gustan las motos diciendo algo como:
Código:
<a href="http://bancodelanacionytodoslospaises.com/account/transferir.php?acct=nosotros&amount=100000000&moneda=euro">Click aquí para ver las últimas motos </a>
Si nuestra victima da click nos habrá transferido mucho dinero...
ahora comprenden la gravedad sin mencionar los robos de información que ocurren por este bug...
Como podemos evitarlos siendo admin?
- Agregar tokens a casi todo
- siempre ver referer
- asegurar de que se caduquen las cookies y/o Sessiones
Con los tips de arriba creo que ya no sería tan fácil explotar algo como esto...
y como usuario?
- asegurate que las urls sean reales siempre
- no confies en la publicidad enviada por correo de sitios que no son serios
Bueno espero que con esto haya podido explicar que es el CSRF...
Saludos
Dedalo