Script firmati digitalmente come metodo per contrastare XSS

1

Come approccio generale alla gestione degli attacchi XSS, piuttosto che dover ricordare di sfuggire al codice generato dall'utente, esiste un modo per indicare al browser di non eseguire alcun script o funzione di script che non sia firmata con un particolare chiave pubblica (inclusa nella parte superiore di ogni pagina, ma non necessariamente autenticata. Questo è inteso solo per gestire XSS, non man-in-the-middle)? Quindi potresti semplicemente firmare tutti gli script "reali"

    
posta dspyz 09.03.2014 - 21:06
fonte

1 risposta

2

Questo sarebbe un vero successo per le prestazioni. Immagina di avere un sacco di funzioni integrate nella tua pagina HTML. Ognuno dovrebbe essere firmato separatamente. Inoltre il codice lato server deve essere in grado di accedere al keystore per firmare il codice ogni volta che le pagine vengono generate dinamicamente. Ciò significherebbe un sovraccarico sostanziale da affrontare.

Si noti inoltre che JavaScript che esegue l'input dell'utente, che contiene JavaScript, sarà difficile da gestire.

Ad esempio, supponiamo di avere XSS su un parametro utente che è incorporato nella pagina da una funzione JavaScript, il tuo server lo firmerà effettivamente prima dell'invio in quanto non saprà che quella parte del codice non è legittima. .. e poi torniamo al vecchio problema della validazione di input / output.

In ogni caso, la maggior parte di questo problema può essere risolto con CSP in ogni caso.

    
risposta data 09.03.2014 - 21:10
fonte

Leggi altre domande sui tag