Quali caratteri vengono convertiti quando si esegue PHP su IIS?

0

Leggevo questo articolo sulla vulnerabilità di caricamento dei file :   link

Ho visto questa affermazione:

Finding characters that are converted to other useful characters during the file upload process. For instance, when running PHP on IIS, the ">", "<", and double quote " characters respectively convert to "?", "*", and "." characters that can be used to replace existing files (e.g. "web<<" can replace the "web.config" file). In order to include the double quote character in the filename in a normal file upload request, the filename in the "Content-Disposition" header should use single quotes (e.g. filename='web"config' to replace the "web.config" file).

  1. Qualcuno può spiegarmelo con un esempio? come "web < <" sostituirà "web.config" e altri file?
  2. e la seconda parte su "Content-Disposition"?
posta Demon512 23.09.2018 - 00:24
fonte

1 risposta

1

Can anyone explain...?

Forse gli sviluppatori di Microsoft possono spiegare perché hanno scelto di applicare il globbing in questo contesto. Personalmente lo trovo davvero sciocco, ma purtroppo non è la prima volta che vedo un comportamento contro-intuitivo sulle piattaforme Microsoft.

Si noti che la citazione proviene da una sezione della pagina owasp su come NON fare upload di file. L'autore è qui che spiega come sfruttare la vulnerabilità. Per impostazione predefinita, i browser utilizzeranno doppie virgolette per delimitare - anzi, credo che la specifica erediti da RFC 822 che richiede virgolette doppie - quindi in assenza di un meccanismo di escape, non è possibile incorporare virgolette doppie all'interno del doppio citazioni. Di nuovo, dovresti chiedere a Microsoft perché hanno scelto di forgiare il loro percorso.

    
risposta data 23.09.2018 - 05:30
fonte

Leggi altre domande sui tag