¿Es posible ejecutar scripts del lado del servidor a pesar del encabezado Content-Type?

1

Supongamos que hay una función de carga en la que los usuarios deben subir imágenes solamente. Sin embargo, es posible cargar archivos arbitrarios sin pasar por la restricción.

Diga, cargué un shell (aspx) y solicité el recurso correspondiente. Como he leído, es posible ejecutar dicho código de shell en algunos escenarios. Sin embargo, el servidor está configurando un encabezado de respuesta Tipo de contenido como imagen / png .

También busqué en Google y encontré que es posible ejecutar el código php insertando el código php directamente en la imagen JPEG. Entonces, mi pregunta aquí es:
- ¿El servidor ejecuta el código del lado del servidor a pesar del encabezado Content-Type?
- Si no, ¿en qué casos es posible ejecutar códigos directamente en lugar de incrustarlos dentro de la imagen?
- ¿Hay alguna forma similar para los códigos aspx?

La primera pregunta, según me parece, ¿no es el servidor el que establece el encabezado Tipo de contenido ? Por lo tanto, creí que el código debería haberse ejecutado antes de que se renderice la página.

Por favor, ayúdame a aclarar las cosas.

    
pregunta 1lastBr3ath 05.08.2015 - 12:09
fuente

1 respuesta

2

En un mundo perfecto (y sin errores), no sería posible. Un archivo de imagen siempre debe ser reconocido como un archivo de imagen por el servidor web y manejarse como tal, esto significa:

  • Configuración del tipo mime en consecuencia para una visualización adecuada en el navegador del usuario,
  • Datos de archivo sin procesar enviados al navegador del usuario: no se ejecuta ningún script.

Sin embargo, las cosas se ponen mal cuando hay posibilidades de engañar al servidor web para que piensen que este .jpg archivo es en realidad un script ASP (o lo que sea) para ser ejecutado. El servidor web abrirá este archivo como un script, ejecutará su contenido, se atornillará ...

    
respondido por el WhiteWinterWolf 05.08.2015 - 18:02
fuente

Lea otras preguntas en las etiquetas