API CSRF e JSON

2

Stavo cercando un'implementazione CSRF per Express.js e ho trovato qualcosa che mi ha colpito, in questo post si dice che un'API JSON è vulnerabile agli attacchi CRSF ... è corretto? non è possibile creare una richiesta JSON per eseguire un'operazione non intenzionale in questo caso?

link

Considerando che l'encType consentito per i moduli è application / x-www-form-urlencoded , multipart / form-data e text / plain ha assolutamente senso ...

    
posta DGomez 09.02.2017 - 18:50
fonte

1 risposta

2

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.

    
risposta data 09.02.2017 - 19:35
fonte

Leggi altre domande sui tag