Sono ancora suscettibili negli attacchi XSS, plain/text
json enforcement e se le politiche di origine non sono impostate correttamente. Si è già risposto prima su Stack Overflow, ma non qui realmente. La risposta su Stack Overflow può essere trovata qui ma I ' La sinossi è qui per il gusto dell'archivio:
I moduli sono limitati a due metodi: GET
e POST
I moduli sono limitati a tre tipi di contenuto: application/x-www-form-urlencoded
, multipart/form-data
e text/plain
Dato che stai postando sul tipo di contenuto application/json
devi utilizzare l'invio di XMLHTTPRequest
che è bloccato con i criteri di origine (Same, Cross), quindi ora dipende dal server.
Tuttavia, se il modulo genera JSON valido ma imposta il tipo di contenuto su text/plain
e il server non controlla che CSRF sia ancora possibile se tutto il server sta eseguendo l'analisi dei dati senza controllare il tipo di contenuto.
Quindi è compito del server controllare la richiesta di posta, consentire solo il tipo di contenuto application/json
e utilizzare i criteri di origine corretti per impedire a CSRF un'API JSON. Ricorda che CSRF dipende sempre dal server per prevenire l'attacco.