¿Qué caracteres se convierten cuando se ejecuta PHP en IIS?

0

Estaba leyendo este artículo sobre vulnerabilidad de carga de archivos :   enlace

Vi esta declaración:

  

Búsqueda de caracteres que se convierten en otros caracteres útiles   durante el proceso de carga de archivos. Por ejemplo, cuando se ejecuta PHP en IIS,   los caracteres ">", "<" y comillas dobles "respectivamente se convierten a   "?", "*" y "." Caracteres que pueden usarse para reemplazar los existentes.   los archivos (por ejemplo, "web < <" pueden reemplazar el archivo "web.config"). A fin de que   incluir el carácter de comillas dobles en el nombre de archivo en un archivo normal   solicitud de carga, el nombre de archivo en el encabezado "Contenido-Disposición"   debe usar comillas simples (por ejemplo, filename = 'web "config' para reemplazar el   archivo "web.config").

  1. ¿Puede alguien explicármelo con un ejemplo? cómo "web < <" reemplazará ¿"web.config" y otros archivos?
  2. y la segunda parte sobre "Disposición del contenido"?
pregunta Demon512 23.09.2018 - 00:24
fuente

1 respuesta

1
  

¿Alguien puede explicar ...?

Quizás los desarrolladores de Microsoft puedan explicar por qué eligieron aplicar globos en este contexto. Personalmente, lo encuentro realmente tonto, pero lamentablemente no es la primera vez que veo un comportamiento tan poco intuitivo en las plataformas de Microsoft.

Tenga en cuenta que la cita proviene de una sección en la página de owasp sobre cómo NO hacer cargas de archivos. El autor está aquí explicando cómo explotar la vulnerabilidad. De forma predeterminada, los navegadores utilizarán comillas dobles para delimitar, de hecho, creo que la especificación se hereda de RFC 822, que requiere comillas dobles , por lo que, en ausencia de un mecanismo de escape, no puede insertar comillas dobles dentro del doble citas. Una vez más, deberías preguntarle a Microsoft por qué eligieron forjar su propio camino.

    
respondido por el symcbean 23.09.2018 - 05:30
fuente

Lea otras preguntas en las etiquetas