È possibile eseguire script lato server nonostante l'intestazione Content-Type?

1

Supponiamo che ci sia una funzione di upload in cui gli utenti devono caricare solo le immagini. Tuttavia, è possibile caricare file arbitrari ignorando la restrizione.

Dire, ho caricato una shell (aspx) e richiesto la risorsa corrispondente. Come ho letto, è possibile eseguire tale codice shell in alcuni scenari. Il server, tuttavia, sta impostando un'intestazione di risposta Tipo di contenuto come immagine / png .

Ho anche cercato su Google e ho scoperto che è possibile eseguire codice php incorporando il codice php direttamente nell'immagine JPEG. Quindi, la mia domanda qui è:
- Il server esegue il codice lato server nonostante l'intestazione Content-Type?
- In caso contrario, in quali casi è possibile eseguire i codici direttamente anziché incorporarli all'interno dell'immagine?
- Esiste un modo simile per i codici aspx?

La prima domanda, come mi sembra, non è il server che imposta l'intestazione Content-Type ? Quindi, credevo che il codice avrebbe dovuto essere eseguito prima che la pagina venisse resa.

Per favore, aiutami a chiarire le cose.

    
posta 1lastBr3ath 05.08.2015 - 12:09
fonte

1 risposta

2

In un mondo perfetto (e privo di bug!), non sarebbe possibile. Un file immagine dovrebbe sempre essere riconosciuto come un file immagine dal server web e gestito come tale, questo significa:

  • Impostazione di mime-type di conseguenza per una visualizzazione corretta sul browser dell'utente,
  • Dati file raw inviati al browser dell'utente: nessuno script eseguito.

Tuttavia, le cose diventano sbagliate quando ci sono possibilità di ingannare il server web nel pensare che questo .jpg il file è in realtà un ASP (o qualsiasi altro) script da eseguire. Il server Web aprirà questo file come script, eseguirà il suo contenuto, sarà avvitato ...

    
risposta data 05.08.2015 - 18:02
fonte

Leggi altre domande sui tag