Omitir regla simple de texto

1

Quiero saber si puedo permitir la carga de todos los tipos de scripts y agregar estas reglas a una configuración de host virtual; así que avisa y dime si habrá algunas vulnerabilidades que se puedan usar para eludir estas reglas de seguridad (en caso afirmativo, cómo bloquearlas)

Gracias de antemano, Tal vez esta pregunta haya sido respondida antes, pero no sé cómo obtener los resultados correctos.

    
pregunta WMax 09.10.2014 - 13:56
fuente

1 respuesta

4

Hay algunas cosas que puede hacer para mitigar el riesgo:

  1. Intente cargar los archivos en una ruta fuera de su webroot

    Por ejemplo, si aloja su sitio en /var/www/myserver/html , haga que su script de carga PHP escriba los archivos en /var/www/myserver/data .

    De esta manera, un Local File Include no funcionará, ya que los archivos enviados están fuera de la raíz del servidor.

  2. No utilice Mime Type o la extensión de archivo para determinar el tipo de archivo

    Es fácil de forjar Mime Type y la extensión de archivo. En su lugar, use las funciones PHP Fileinfo para identificar el archivo.

  3. No almacene los archivos con el nombre de archivo original

    Siempre renombra el archivo a algo impredecible, como un sal con hash. Hacer esto dificulta a un atacante predecir y usar el archivo que acaba de cargar.

  4. Asegúrese de que sus mensajes de error no pierden datos

    Si su mensaje de error dice File webshell.avi not found on /var/www/myserver/data , está filtrando información valiosa. En un servidor de producción, no habilite los informes de errores ni se los envíe a usted, no al cliente.

  5. Use un script para leer los archivos y enviar los datos al cliente

    No vincule directamente a los archivos, pero haga que un script los lea en su lugar. De esta forma, puede sanear los datos antes de enviarlos, y su servidor no procesará los archivos en bruto.

respondido por el ThoriumBR 09.10.2014 - 14:57
fuente

Lea otras preguntas en las etiquetas