Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: 19.5 en 14 Diciembre 2007, 22:00 pm



Título: ¿Mejor manera de restringir acceso?
Publicado por: 19.5 en 14 Diciembre 2007, 22:00 pm
Buenas.
Directo al grano. Según sus criterios, ¿cuál es la mejor manera de proteger una página hecha en php por medio de un usuario y contraseña? ¿Y POR QUÉ?
Por ejemplo:

1.- Directamente con un POST (if user="mack" && pass....)
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)
4.- Otro?

Sería interesante que cuando argumenten su opinión, dijeran posibles métodos que vulneraran el mecanismo. Si me decisión fuese la Nº1 se corre el riesgo de un XSS o la Nº3 de una inyección SQL. Y poner algún ejemplo que lo demuestre.

Gracias.


Título: Re: ¿Mejor manera de restringir acceso?
Publicado por: дٳŦ٭ en 14 Diciembre 2007, 23:29 pm
Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.


Título: Re: ¿Mejor manera de restringir acceso?
Publicado por: 19.5 en 15 Diciembre 2007, 05:40 am
Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.
Pero por qué las dos juntas? En el tema dice explicitamente ejemplificar.
Gracias.


Título: Re: ¿Mejor manera de restringir acceso?
Publicado por: дٳŦ٭ en 15 Diciembre 2007, 05:51 am
Citar
2.- Uso de sesiones e include (archivo autentificador: if $_SESSION[blabla] .....)
3.- Mediante base de datos (mysql_query(SELECT * ......)

Las dos juntas. Riesgo, inyección sql, xss, hasta rfi, etc.
Pero por qué las dos juntas? En el tema dice explicitamente ejemplificar.
Gracias.

Orale


Título: Re: ¿Mejor manera de restringir acceso?
Publicado por: 19.5 en 15 Diciembre 2007, 21:13 pm
Lo que aparece entre paréntesis es sólo una idea de la situación pero NO es considerado como ejemplo. Cuando dije que ejemplificaras que me refería a que publicaras algún code sencillo que explicara esa unión, entre uso de sesiones y una base de datos.


Título: Re: ¿Mejor manera de restringir acceso?
Publicado por: WHK en 18 Diciembre 2007, 08:57 am
Juaz, y no quieres una taza de café también?,

Tu código es muy básico como para ejemplificar una situación, son muchas las variables y conbinaciones posibles, todo depende el sistema y como esté comprometido ese código dentro del sistema, además solo diste ejemplos, nada concreto donde uno pueda deducir por donde podría fallar.

Yo podría dar ejemplo:
if (!file_exist($ruta)) { NO; } else { OK; }

Ahora yo podría definir OK y NO con funciones declaradas con anterioridad pero en ese ejemplo yo podría decir que no tiene RFI pero si una denegación de servicio si hago un include al propio index, es mas, no es RFI pero si LFI... ahora si mas arriba hubiera filtrado $ruta entonces ya no sería vulnerable, además si todo eso hubiera cambiado dependiendo en que lugar del sistema se encuentre.

En simples palabras tu código es muy pobre como para deducir fallas. Expresate mejor si quieres ejemplos concretos.