Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: basickdagger en 10 Mayo 2014, 00:39 AM

Título: Seguridad en $session
Publicado por: basickdagger en 10 Mayo 2014, 00:39 AM
Hola bueno esto trabajando en un sitio y tengo una duda...

tengo una table en mi BD llamada Usuarios..
la cual tengo con 4 campos...

id tipo usuario contraseña...

entonces a la hora de hacer mi login
tomo ciertos valores

Código (php) [Seleccionar]

if (mysql_num_rows($ejecutar_sql)!=0){

session_start();
if($tipo=='admin'){

$_SESSION['usuario']=$usuario;
$_SESSION['tipo']=$tipo;
}
                if($tipo=='user'){
$_SESSION['usuario']=$usuario;
$_SESSION['tipo']=$tipo;
               }
               return true;
} else {
return false;
}

antes de este código comparo que  $usuario y $tipo existan antes  de ejecutar esta parte de código para iniciar cualquier session...

y ya en cada pagina comparo

$_SESSION['tipo']

y dependiendo de este muestro información...

que tan facil es robarse mi session?
es lo peor que puedo hacer?

alguna recomendación...


Saludos!

Título: Re: Seguridad en $session
Publicado por: engel lex en 10 Mayo 2014, 01:18 AM
las sesiones de php originalmente son sumamente sensibles al robo

un ejemplo simple para explicar esto, inicia sesion en (ej) chrome a tu pagina, presiona f12 para abrir la consola de comandos escribe
Código (javascript) [Seleccionar]
document.cookie
esto se devolverá un valor como

PHPSESSID=ert9aj1m97cuns786sbu18l8d1

abre otro navegador (puede ser internet explorer por razones de prueba), en ie presionas f12 para abrir la consola, presionas donde dice "script" y abajo a la derecha escribes
Código (javascript) [Seleccionar]
document.cookie='PHPSESSID=ert9aj1m97cuns786sbu18l8d1'

al refrescar la pagina, verás que estás logeado! :P felicitaciones, acabas de aprender a robar una galleta! XD

para evitar esto puedes hacer lo siquiente

en las variables de $_SESSION agregas de las variables del servidor ($_SERVER)
REMOTE_ADDR
HTTP_USER_AGENT

con esas 3 las comparas siempre, esto aunque no es infinitamente infalible es bastante pesado de superar para muchos y requeriría el atacante estar en la misma lan para poder realizar un ataque

hay más metodos, pero los dejo a google para que los busques
Título: Re: Seguridad en $session
Publicado por: basickdagger en 10 Mayo 2014, 19:53 PM
muchas gracias sinceramente no tenia idea.. aunque tengo una duda.. al destruir un session se eliminan tambien la session de la cookie copiada vdd?

saludos.. voy a informarme más..
Título: Re: Seguridad en $session
Publicado por: engel lex en 10 Mayo 2014, 20:06 PM
si, si la sesión se destruye o se cambia de identificador (hay un comando para eso) la cookie copiada queda inútil