Excepciones no controladas
El software genera un mensaje de error que incluye información confidencial sobre su entorno, usuarios o datos asociados.
La información confidencial puede ser información valiosa por sí misma (como una contraseña), o puede ser útil para lanzar ataques dirigidos. El mensaje de error se puede crear de diferentes maneras:
- Autogenerado: El código fuente construye explícitamente el mensaje de error y lo entrega.
- Generado externamente: El entorno externo, como un intérprete de lenguaje, maneja el error y contruye su propio mensaje, cuyo contenido no está bajo el control directo del programador.
Un atacante puede usar el contenido de los mensajes de error para ayudar a lanzar otro ataque más enfocado.
Excepciones no controladas en SQL
Los mensajes de error de SQL no deben enviarse a los clientes, ya que esta puede ser información útil para explotar cualquier vulnerabilidad relacionada.
Se recomienda utilizar sentencias parametrizadas.
Excepciones no controladas en PHP
El manual de PHP recomienda deshabilitar "display_errors" en servidores expuestos a Internet.
Para PHP 5.2.4 y superior, la configuración "display_errors"
en el archivo de configuración "php.ini"
debe establecerse en "stderr"
(flujo de salida de error), en lugar de "stdout
" (flujo de salida enviado a los clientes). Para versiones anteriores, "display_errors"
es un tipo booleano y se puede establecer en "False"
para desactivarlo. La configuración también se puede deshabilitar en tiempo de ejecución usando ini_set()
desde dentro de un script PHP.
Excepciones no controladas en Framework Yii 2.0
Yii incluye embebido un Error Exception Handler que hace del manejo de errores una experiencia mucho más llevadera.
El manejo de excepciones está habilitado por defecto. Se puede deshabilitar definiendo la constante global YII_ENABLE_ERROR_HANDLER
a “false
” en el script de entrada (Entry Scripts) de la aplicación.