È possibile eseguire un attacco XSS riflesso tramite la variabile $_FILES
?
Il codice vulnerabile che sto immaginando potrebbe apparire come questo:
echo $_FILES["file"]["name"];
Ho letto che non è possibile caricare a livello di codice un file da un computer di persone senza la loro interazione effettiva (il che è logico, poiché sarebbe un grosso problema di sicurezza).
Ma è possibile inviare automaticamente un modulo HTML che PHP interpreterà come caricamento di file e quindi popolerà la variabile $ _FILES, risultante in XSS?
Sto cercando soluzioni che funzionino all'interno di un browser con HTML e JavaScript e causino un'effettiva vulnerabilità della sicurezza. (quindi utilizzare la politica di arricciatura o violazione della croce di origine non è proprio ciò che sto cercando, in quanto non sarebbe sfruttabile).
Le mie prime riflessioni su questo:
Il contenuto inviato per un input di tipo file è questo:
Content-Disposition: form-data; name="fileinput"; filename="filename.php"\r\nContent-Type: application/x-php\r\n\r\nfile content\n\r\n
Il contenuto, ad esempio, dell'input di testo tipo è strutturalmente diverso, simile a questo:
Content-Disposition: form-data; name="textinput[]"\r\n\r\ntext content\r\n
Non ho ancora trovato un modo per creare un modulo HTML che invii i dati del primo tipo tramite un tipo di input diverso dal file e non ho trovato un modo per pre-compilare un campo di input di tipo file.
Ho trovato questa risposta su invio di file tramite JavaScript , ma anche se sembra una scrittura di origine incrociata, ottengo un avvertimento sulla violazione della stessa politica di origine.