No había tenido imaginación para escribir en los últimos dias pero hoy me desperte y un amigo me estaba pidiendo ayuda con una Sql Injection, despues de un rato de salir a comprar un te helado entre a una web que tenía este error así que hoy les voy a explicar masomenos el funcionamiento de ese bug.
Lo primero vamos a ver la linea de código que le asigna una COOKIE a digamos el administrador
setcookie("testcookie","1");
Ahora como vemos ya sabemos que la cookie se llama testcookie pero por ahora no nos vamos a fijar en eso...
miren este code:
if($_COOKIE['testcookie']=="1")
{
include "admin.php";
}
else {
die('no eres el admin'); }
Recuerda el tutorial de argument injection ya pues esto va a ser algo parecido... el anterior code dice que si nosotros tenemos testcookie entonces nos hara un include del admin.php
Ahora miren el code del login...
if($_POST['pass'] == $hashedpass) {
setcookie("testcookie","1"); //esto lo vimos antes
} else {
die("no entraste");
}
como ven lo que dice es lo siguiente... si nuestra pass es la pass que haya escojido el administrador nos asigna una cookie que es testcookie y cuando apretamos mas abajo pregunta en el code digamos que esta lo mismo que pusimos en el code numero 1:
if($_COOKIE['testcookie']=="1")
{
include "admin.php";
}
else {
die('no eres el admin'); }
jeje ahora si creo que no puede estar mas claro pero en resumen es... si la pass es correcta nos pone una cookie y si la tenemos nos lleva a admin.php
Ahora si ni mas que decir la expl0tación...
vamos a nuestro browser...
y donde se pone la url ponemos:
javascript:document.cookie = "testcookie; path=/";
como ven nos hemos asignado la cookie... y el path=/ quiere decir que nos va a funcionar en todo el dominio... pero también podemos usar los headers... con el live-http-headers y hacer un set-cookie y ponernosla pero bueno ahora si creo que ya solo nos queda navegar y buscar lo que nos interese.
Ustedes pensarán como obtenemos la cookie pues esa es la parte difícil, por eso en previas entradas he hablado sobre un par...
Session Prediction
Robo de cookies por un Xss
Ahora si no pueden hacer ninguna de estas puede ser con algo de ingeniería social...
-------------
como lo reparamos?
Esta pregunta tiene muchas respuestas como la mayoría de preguntas en lo que es seguridad informática pero pues la que yo les puedo dar es que usen sesiones, en el caso muy no recomendado que quieran usar cookies pues les recomiendo que hagan la cookie random y que duren maximo 1h cosa que el atacante no tenga mucho tiempo y que el administrador tenga sierto tiempo en poner solo lo necesario.
Espero les sirva este tutorial...
Saludos
Dr.White
Backup Oficial de SeguridadBlanca.Org
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario