Voglio solo ottenere input da persone che sanno. Stavo considerando le vulnerabilità della CSRF e il metodo apparentemente più popolare che conosco per combatterlo. Quel metodo è creare un token nel html restituito e aggiungere un cookie con lo stesso valore. Quindi, se uno script cerca di fare un post, farebbe il have to guess the token thats embedded in the web page
affinché abbia successo.Vulnerabilità CSRF/domanda di cookie
Ma se stanno mira un sito web specifico perché non possono semplicemente utilizzare uno script che
- chiama un get nella pagina (il cookie verrà restituito anche se lo script non può accedervi)
- analizza l'HTML e ottiene il token
- chiama un post con quella pedina in esso (un cookie è tornato sarà rispedito)
- hanno presentato con successo una forma senza la conoscenza degli utenti
Lo script non ha bisogno di conoscere il contenuto del cookie, è solo utilizzando il fatto che i cookie vengono inviati avanti e indietro per tutto il tempo.
Cosa mi manca qui? Non è possibile? Penso che sia abbastanza spaventoso se ci pensi.
di sotto di questa linea non è richiesta la lettura di rispondere alla domanda :)
banche Questa vulnerabilità sul fatto che l'autenticazione è fatto sulla base di biscotti, che credo sia l'autenticazione principale modo in cui è attualmente in corso.
Un'altra soluzione che posso pensare è che l'autenticazione sia a livello di pagina. Quindi quando accedono, l'html restituito avrà quel token al suo interno. ogni collegamento che fanno clic contiene quel token, quindi quando il server Web riceve una richiesta, ha un modo per identificare l'utente/sessione. Il problema è che se usano una navigazione diversa da quella che sono "non autenticati" (ad esempio digitano un url), anche l'URL non sembra carino perché probabilmente assomiglierebbe a questo:
https://www.example.com/SuperSecretPage/1/123j4123jh12pf12g3g4j2h3g4b2k3jh4h5g55j3h3
Ma io capisco che se la sicurezza è più importante, allora un bel URL è il secondo posto.
Non so tutto sui cookie ma cosa succede se i programmi utente erano un po 'più attenti con i loro cookie?
Ad esempio, cosa succede se i cookie inviati dipendono dalla scheda? A questo punto navighiamo tutti usando le schede, giusto? quindi cosa succede se l'ambito del cookie era la scheda? quindi se ho il mio sito bancario aperto sulla scheda 1 e sto navigando nella scheda 2, qualsiasi script chiamata gets/posts nella scheda 2 invierà solo i cookie accumulati nella scheda 2.
O cosa succede se i cookie sono stati memorizzati/dominio Quindi, mentre sono su example.com, tutti i cookie che ritornano nella raccolta di cookie example.com. e poi quando sono su www.mybankingsite.com tutti i cookie vengono inseriti nella raccolta mybankingsite.com. Quindi, se vado su example.com e viene eseguito uno script che richiama un get/post, l'agente utente invierà solo cookie example.com. Questo è diverso dall'invio dei cookie del dominio richiesto. Per esempio. se uno script chiama get su mybankingsite.com all'interno di una pagina Web di esempio.com, l'utente agente non invierà i cookie mybankingsite.com.
So di avere alcun controllo su ciò che gli agenti utente fare, ma io sono solo esplorando possibilità
bene si potrebbe evitare questo accettando solo un'azione Post HTTP a quell'URL, ma si apre il fatto che uno script ha accesso al suo DOM e se un elemento può ottenere informazioni da un altro sito, allora si può essere compromesso – Jose