Le conferenze sulla sicurezza hanno spesso problemi di hacking. I miei colleghi e io abbiamo creato un numero di questi. Non ne abbiamo ancora fatto uno che includa una vulnerabilità di scripting cross-site.
Ho visto sfide che lo fanno. Un approccio era che una determinata pagina (vulnerabile a XSS memorizzato) veniva richiesta da un browser su base periodica (ogni 10s credo). Dopo un attacco riuscito, il tuo payload funzionava con quel browser e la sfida era estrarre il cookie.
Un problema con questo approccio è che quando più persone stanno lavorando simultaneamente alla sfida, interferiscono l'una con l'altra - e puoi rubare le idee di altre persone. Un'idea alternativa era quella di avere solo XSS riflessivo, e una pagina in cui puoi inviare un link al sito, che l'amministratore esaminerà prima che possa essere pubblicato.
Per quanto tempo il browser rimane aperto è una scelta interessante. Se rimane aperto un po '(anni '60 circa), le persone possono usare strumenti come BeEF, il che lo rende un po' più facile. Se è aperto solo per 2 secondi devi scrivere l'attacco.
C'è una serie di dettagli che influenzano il modo in cui la sfida funzionerà nella pratica. Preferirei le risposte di persone con esperienza nell'esecuzione di sfide di hacking XSS che funzionassero bene. Ma in caso contrario, mi accontento di una speculazione informata.
Se aiuta, tendiamo a partecipare a conferenze tecniche nel Regno Unito, ad es. B-Sides Manchester, SteelCon, SecuriTay.
Inoltre, qualsiasi suggerimento su come difendere il browser dagli exploit JavaScript sarebbe benvenuto!