PHP - autenticacion con secreto

 
Vista:

autenticacion con secreto

Publicado por Ede (5 intervenciones) el 11/09/2009 23:51:55
Hola he leido que en algunos sitios, a la hora de autenticar en lugar de utilizar

En if (!$_SESSION["auth"]) error(__("No autenticado"));

se utiliza esto otro:

$secreto="un secreto";
...
// justo al autenticar
$_SESSION["auth"]=$secreto;
...

y al comprobar si está autenticado:
if ($_SESSION["auth"] != $secreto) error(__("No autenticado"));

Creo que con esto lo que se consigue es evitar el caso de que en el mismo servidor hay otra aplicación de otra persona que simplemente hace: $_SESSION["auth"]=true;.
PHP establece (por defecto) como ámbito (path) de la cookie de sesión todo el servidor (/). Por tanto esta persona accede a su aplicación, luego accede a la tuya y se encuentra ilegítimamente autenticado.

Incluso esto puede pasar incluso en dominios distintos alojados en el servidor. Pero lo que no veo como se puede aprovecahr esta vulnerabilidad de que modo quiero decir,
no se si me entienden, alguien me lo podria explicar? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:autenticacion con secreto

Publicado por JLDorta (2 intervenciones) el 15/09/2009 18:53:41
Supongamos que el hacker se loguea en otra pagina del servidor y al crear la session se crea un fichero en el directorio temporal del servidro con nombre sess_{id de la cookie} y en este fichero se va a crear la variable $_SESSION["auth"]=true;

Ahora este hacker va a nuestro sitio y flasea el browser y le dice que el id de la cookie de nuestro sitio es el mismo que esta en la otra sesion. Ahora el server al buscar en el directorio temporal el fichero sess_{id de la cookie} y encuentra el que se habia creado en el otro sitio y lo parsea como si fuera de nuestro sitio. Conclusion, tienes el hacker logueado en tu sitio.

Cualquier otra duda contactame en el correo.

Sl2
Jorge Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar