Las conferencias de seguridad a menudo tienen desafíos de piratería. Mis colegas y yo hemos creado un número de estos. Todavía no hemos hecho una que incluya una vulnerabilidad de secuencias de comandos entre sitios.
He visto desafíos que hacen esto. Un enfoque fue que una página determinada (vulnerable a XSS almacenada) fue solicitada por un navegador de forma periódica (cada 10 s, creo). Después de un ataque exitoso, su carga útil se ejecutó en ese navegador y el desafío fue extraer la cookie.
Un problema con este enfoque es que cuando varias personas trabajan simultáneamente en el desafío, interfieren entre sí, y usted puede robar las ideas de otras personas. Una idea alternativa era tener solo XSS reflexivo, y una página en la que pueda enviar un enlace al sitio, que el administrador revisará antes de que se publique.
Una opción interesante es cuánto tiempo debe permanecer abierto el navegador. Si permanece abierto por un tiempo (alrededor de 60), las personas pueden usar herramientas como BeEF, lo que lo hace un poco más fácil. Si solo está abierto para 2s, debes escribir el ataque.
Hay una serie de detalles que afectan qué tan bien funcionará el desafío en la práctica. Preferiría las respuestas de personas con experiencia en la ejecución de desafíos de pirateo XSS que funcionaron bien. Pero en su defecto, me conformaré con una especulación informada.
Si ayuda, solemos asistir a conferencias técnicas en el Reino Unido, por ejemplo. B-Sides Manchester, SteelCon, SecuriTay.
¡Además, cualquier sugerencia sobre cómo defender el navegador de las vulnerabilidades de JavaScript sería bienvenida!