¿Por qué puedo omitir la autenticación de un sitio web?

0

Estoy probando una caja negra en un sitio web vulnerable. Se accede al sitio web en cuestión mediante HTTP y, para llegar a su contenido, se le solicita un campo para ingresar la contraseña (presumiblemente establecida por el administrador) en la página de inicio. Si ingreso una contraseña incorrecta, recibo la notificación de "contraseña incorrecta".

Sin embargo, después de ingresar la ruta URI /index.html , se ve el contenido, sin ingresar ninguna contraseña. Si hago clic en cualquier enlace allí y me refiero a http://website.com/page.php , me vuelven a solicitar el campo de autenticación, pero si reemplazo .php con .html , veo el contenido que se supone está protegido por contraseña. También se me permite acceder al directorio images .

Desde el punto de vista del desarrollo, ¿qué se hace mal aquí que permite omitir la autenticación y cómo debería solucionarse?

    
pregunta skooog 18.09.2017 - 11:23
fuente

1 respuesta

3
  

Desde el punto de vista del desarrollo, lo que se hace aquí de forma incorrecta permite omitir la autenticación

Colocar contenido privado en un lugar donde se pueda acceder sin controles.

Parece que el diseñador del sitio web ha escrito algunas secuencias de comandos php que comprueban los detalles de autenticación y entregan el contenido si pasa, pero ha olvidado que ha colocado los archivos de contenido reales en un lugar donde el servidor web solo los servirá. .

  

¿Y cómo debería arreglarse?

La solución más rápida sería reconfigurar el servidor web para que no sirva archivos .html desde ese directorio, pero eso parece una curita. Los directorios donde se almacenan las cosas secretas deben mantenerse separados de los directorios que deben ser atendidos directamente por el servidor web y, idealmente, deben estar completamente fuera de la "raíz web".

    
respondido por el Peter Green 18.09.2017 - 16:50
fuente

Lea otras preguntas en las etiquetas