elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  seguridad de sesiones en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: seguridad de sesiones en php  (Leído 1,758 veces)
c0nej0

Desconectado Desconectado

Mensajes: 6



Ver Perfil
seguridad de sesiones en php
« en: 30 Diciembre 2006, 19:12 pm »

Hola a todos.....qisiera porfavor  informacion sobre temas de seguridad de sesiones en PHP, osea la forma en q puedo hacer mas segura una sesion de usuario.......en una aplicacion q hic me di con la desdichada sorpresa q habia ingresado gente sin pasar el login , use el siguiente controlador de sesion pero claro no es suficiente:

Código:
<?php
session_start();
if($_SESSION['usuario']!='permitido'){
   session_destroy();
   @header('location:index.php');}
   ?>   
 

ese controlador esta para las paginas a las q solo los usuarios puedn acceder previo logeo......lo q ocurre es q la pagina q programe tenia una sección de examens y en cada pagina salia el nombre del usuario...."Bienvenido Juan Perez has iniciado....etc" , y cuando el usuario daba su examen c guardaban sus nombres, contraseña, nota, fecha....pero habia registros d notas sin nombres ni contraseñas, solo la nota y la fecha como si lo hubiera dado un fantasma.....use el sgte script para validar la sesion:
Código:
<?php
include("conexionBD.php");
conectarse();//funcion q me concta a la BD
//***********************
$codUsu=$_POST['codigo'];
$dni=$_POST['dni'];
$nivel=$_POST['nivel'];
session_start();
$sql="select * from usuarios where clave='".$codUsu."' and dni='".$dni."' and nivel='".$nivel."'";
$rs=mysql_query($sql);
@$row=mysql_num_rows($rs);
if($row==1)// es dcir q existe tal registro
{ $_SESSION['usuario']='permitido';

@header('location:menu_usu.php');
$_SESSION['apellidos'] = mysql_result($rs,0,2);
$_SESSION['nombres'] = mysql_result($rs,0,3);
$_SESSION['nivel'] =$nivel;
$_SESSION['dni'] =$dni;
$_SESSION['codUsu'] =$codUsu;

$_SESSION['hora']=date('H:i');

}
else { session_destroy();

@header('location:loginUsu.php');
}

?>

por favor q otras herramientas puedo usar para q la sesion sea segura y no vulnerable

Les agradeceria mucho su ayuda


En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: seguridad de sesiones en php
« Respuesta #1 en: 30 Diciembre 2006, 19:35 pm »

por de pronto evitar la inyección sql tan gorda que te pueden hacer ya que recibir por POST no copruebas los datos.
Create una funcioncita o pasale los magic_quotes para comprobar los datos que te llegan


con poner % o * mismamente te la meten doblada


En línea

c0nej0

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: seguridad de sesiones en php
« Respuesta #2 en: 30 Diciembre 2006, 20:08 pm »

hmm suena interesante.....pero algun ejemplo ^^' ...osea pueden vulnerarme poniendo  % o * en los campos....como.?.al principio , al final........gracias x la respuesta...
En línea

Hans el Topo


Desconectado Desconectado

Mensajes: 1.754


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: seguridad de sesiones en php
« Respuesta #3 en: 30 Diciembre 2006, 23:03 pm »


veamos...xD

si envian los campos con valores...

$codUsu=%%
$dni=%%
$nivel=%%

o algun campo del que solo sepan que existe un dato sin saber el resto y haciendo combinaciones podría salir...

no le dedico más tiempo pero seguro que la comilla final se podría manipular para añadir un limit 1 al campo nivel xD

como adivinar los campos y demás?
enviando consultas erroneas y mirar si lanza algun error xD


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines