¿Cómo realizar XSS en los campos de entrada de HTML ocultos usando la tecla de acceso?

4

Estoy tratando de insertar una carga útil XSS en un campo de entrada HTML oculto. Sé que funciona con una etiqueta de script como la de abajo, pero estoy buscando otras alternativas.

<input type="hidden" name="date" value=""/> <script>alert('0');</script>" />

Encontré este artículo , que dice que se puede hacer con el atributo accesskey :

  

Finalmente, aprendí sobre XSS a través de las teclas de acceso del artículo anterior y me pregunté si el evento onclick se activaría en la entrada oculta cuando se activara a través de una tecla de acceso.   De los artículos que aprendí, podemos ejecutar una carga útil XSS dentro de un atributo oculto, siempre que pueda persuadir a la víctima para que presione la combinación de teclas. En Firefox Windows / Linux, la combinación de teclas es ALT + MAYÚS + X y en OS X es CTRL + ALT + X ..

Desde ahora, sé que funciona con algún valor de atributo de tipo, por ejemplo:

<input type="text" accesskey="X" onclick="alert(1)">

Estaba intentando con un campo oculto:

<input type="hidden" accesskey="X" onclick="alert(1)">

Pero esto no funciona para mí en varios navegadores, asumiendo que podría haber sido manejado para navegadores recientes, por lo que también probé con algunas versiones inferiores como Firefox 4, pero funciona. ¿Alguien puede ayudar con esto?

    
pregunta vidyashi 12.12.2017 - 10:05
fuente

1 respuesta

3

Después de la inyección, el código resultante debería tener este aspecto:

<input type="hidden" accesskey="X" onclick="alert(1)">

Para que se ejecute la carga útil, el usuario debe presionar la combinación de teclas de acceso para el campo de entrada oculto (para Firefox, Alt + Shift + X , vea esto para otros navegadores). Si desea asegurarse de que está disparando la clave de acceso, puede cambiar de hidden a text para verificar que el campo recibe el foco.

Verifiqué en Windows, y esto no parece funcionar en Chrome 62 e IE 11. Sin embargo, sí funciona en Firefox 57. Así que mientras Firefox dispara el evento onclick cuando se presionan las teclas de acceso, otros navegadores no.

Aquí es un ejemplo práctico si quiere probarlo usted mismo.

Entonces, ¿por qué no funciona en Firefox 4? Dado que el comportamiento aquí no es coherente en todos los navegadores, tampoco me sorprendería que no sea coherente en diferentes versiones del mismo navegador. Prueba mi muestra en Firefox 4, asegúrate de que la clave de acceso esté realmente activada, y si no funciona, eso es todo. Tendrás que tratar de llegar a algo más. ¿Y por qué te gustaría apuntar a un navegador tan antiguo de todos modos?

Tenga en cuenta que este es un exploit bastante limitado, ya que solo funciona en Firefox y requiere la interacción del usuario. No sé si hay una mejor manera de hacerlo, pero parece que esta es la mejor gente que Portswigger podría encontrar.

    
respondido por el Anders 12.12.2017 - 10:25
fuente

Lea otras preguntas en las etiquetas