Problemas de seguridad en php - Full path disclosure

yo aqui de nuevo, esta vez para preguntarles como puedo evitar el metodo Full path disclosure, http://www.pagina.com/noticia-desarrollo.php?id=1%27  si agrego el "%27" al ultimo puedo ver mi ruta y averigue que se puede hacer muchas cosas con esa información. Deseo saber como detectar la inyeccion de esa clase y redireccionar a una pagina que diga que sabemos que esta haciendo eso..

Y que formas mas de ataques pueden hacer y como protegerme

1 respuesta

Respuesta

Lo que planteas es algo delicado. Por este método se puede tener acceso a las credenciales de base de datos, incluso a las carpetas del servidor, así estén protegidas.

Te recomiendo, (para iniciar) leas el siguiente artículo:

https://www.owasp.org/index.php/Full_Path_Disclosure 

Se han detectado robots que recorren las páginas en busca de esta deficiencia, cuando la hayan, almacenan los datos en sus BBDD para luego utilizarla con publicidad propia. A veces puedes ver que una tabla de tu BBDD está llena de basura (¿De dónde salió?) He ahí el caso, estás siendo visitado por robots

No conozco el método infalible para proteger mis datos ante esto. Si hayas algo, por favor nos comentas. Sería importante para todos.

La prevención de una inyección FPD sin tener un sistema de manejo / gestión de errores es tan simple como la desactivación de la visualización de los mensajes de error.

Esto se puede hacer en el archivo php.ini de PHP,

archivo httpd.conf de Apache

O mediante el propio script PHP:

php.ini:
display_errors = 'off' 
httpd.conf / apache2.conf:
display_errors php_flag off 
Script PHP:
Ini_set ('display_errors', false);

Si bien la divulgación de la ruta completa es una técnica de reconocimiento práctico que se puede utilizar en situaciones de completar una exitosa, es muy poco probable que la vulnerabilidad en sí mismo dará lugar a un hackeo exitoso a tu WEB.

Hay casos muy raros que la vulnerabilidad puede ser utilizado como una técnica única para penetrar con éxito un sitio web. Para que esto sea el caso, las prácticas de seguridad de un web-master deben ser muy pobres, por ejemplo, el uso de bases de datos de archivos planos, o pobre incluye extensiones como .inc o archivos .txt.
La vulnerabilidad es como máximo el uso como una técnica de reconocimiento utilizado para recopilar información sobre un objetivo.

¡Gracias! Pero también se que se puede esconder el error con solo error_reporting (0) pero este no evita que un atacante experimentado pueda hacer una inyección a ciegas. Ese es el detalle de ocultar los errores, te protegen hasta cierta parte, seguiré investigando a ver que más puedo conseguir gracias de nuevo por la respuesta :D (Y)

Algo simple pero funciona al esconder los errores:

Debes antepone el símbolo: @ así:

@$fecha = date("Y-m-d H:i:s",time());
@$date = new DateTime($fecha, new DateTimeZone('America/Lima'));
@date_default_timezone_set('America/Lima');
@$zonahoraria = date_default_timezone_get();
@$fecha=date("Y-m-d H:i:s",time());

PHP si encuentra un error, lo esconde, no lo muestra 

ensayalo...

SiREZ

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas