Protezione CSRF con cookie e AJAX

2

Vorrei sottolineare che ho letto l'altra domanda con un titolo simile imbarazzante e che non contiene una risposta alla mia domanda.

Non ho usato CodeIgniter come programmatore, ma di recente ho eseguito un test di penetrazione per un sito Web che lo utilizzava. Il sito era molto pesante per AJAX e, per quanto ho capito, aveva una protezione CSRF sotto forma di cookie ( non marcato httponly ) che viene copiato in un campo nascosto di un modulo subito prima del il modulo è stato inviato.

Questo significa automaticamente che se un utente malintenzionato può trovare una vulnerabilità XSS nel sito Web (come nel caso), può sfruttarlo anche per ottenere CSRF.

Tuttavia, supponendo che il sito sia privo di XSS, questa soluzione è intrinsecamente sicura?
Mi sento piuttosto male per un cookie importante che non è httponly, ed è progettato da JavaScript. Sono solo io o questa cattiva pratica?

Suppongo che non si possa assumere l'invulnerabilità all'XSS come difesa, ma comunque, c'è qualche altro attacco su questo (che non fa leva sull'XSS)?

    
posta K.Steff 09.06.2013 - 02:12
fonte

2 risposte

1

La differenza tra un cookie httponly e un cookie non- httponly è che quest'ultimo non può essere letto o modificato utilizzando JavaScript nel contesto del sito Web.

L'assenza di vulnerabilità XSS implica che non è possibile eseguire JavaScript nel contesto del sito Web che stai attaccando. Pertanto, questa soluzione è sicura.

    
risposta data 09.06.2013 - 03:26
fonte
-1

La vulnerabilità XSS può consentire l'invio di moduli con o senza cookie CSRF, ma tenere presente che la protezione contro XSS è non lo scopo della protezione CSRF.

Utilizzare i cookie CSRF per proteggersi da XSS è come utilizzare un estintore per proteggersi dai tornado. L'estintore è utile, ma è utile per qualcosa di diverso.

    
risposta data 09.06.2013 - 07:33
fonte

Leggi altre domande sui tag