Come eseguire un attacco XSS contro un sito che utilizza la protezione lato client?

1

Dire che ho un sito che mi permette di salvare il mio nome nel database, e quel nome viene poi mostrato ad altri utenti.

Ho determinato che se salvo quanto segue il mio nome:

Abe <script>alert(1);</script> Miessler

Un'altra pagina del sito eseguirà i seguenti passaggi tutti sul lato client:

  1. Esegui una richiesta AJAX per ottenere un elenco di nomi utente
  2. Restituisci quei valori non codificati (quindi <scrip.... non viene restituito &gt;scrip..... )
  3. La pagina quindi HTML codifica tutti i valori che sono stati restituiti e li visualizza nella pagina

So che non si può contare su nulla sul lato client per sicurezza, ma non riesco a pensare a uno scenario in cui un attacco sarebbe in grado di passare da qui. Può essere fatto?

    
posta Abe Miessler 23.10.2014 - 07:32
fonte

1 risposta

6

I know that one should not count on anything on the client side for security

Questo messaggio è diventato leggermente confuso. In realtà, dovrebbe essere che la misura di sicurezza debba essere eseguita sullo stesso lato di un limite di sicurezza del sistema che protegge. Per il caso comune di un'app Web basata su moduli che rende il lato server il luogo in cui potrebbe verificarsi l'attacco e il lato server dove deve essere eseguita la difesa.

Ma nel tuo caso la possibile vulnerabilità, DOM-XSS, si verifica nel browser del client, quindi mettere la difesa contro di essa (l'escape HTML corretto e / o usare i metodi DOM invece del markup per scrivere il contenuto) sul client è troppo corretta.

    
risposta data 23.10.2014 - 11:37
fonte

Leggi altre domande sui tag