
Descripción
This lab contains a stored cross-site scripting vulnerability in the comment functionality.
To solve this lab, submit a comment that calls the alert
function when the comment author name is clicked.
Stored XSS into onclick event with angle brackets and double quotes HTML-encoded and single quotes and backslash escaped writeup
Al entrar en el laboratorio veremos un Blog. Iremos a una entrada cualquiera con ‘View post’. Allí tendremos el formulario vulnerable a XSS. Al intentar inyectar el código JavaScript en el nombre y rellenar el formulario con otros datos, vemos cómo se forma el comentario en la página:

Nota: El principal motivo por el que esto no funciona es porque el laboratorio codifica como HTML ‘<‘ y ‘>’.
Con lo cual, se puede hacer la inyección directamente en la URL. El problema es que no podremos hacerlo directamente con ‘ ‘ ‘, dado que la aplicación web pondrá ‘\’ delante para evitar su funcionalidad especial. Sí que podemos codificar como HTML las comillas simples, de la siguiente manera:
http://test'-alert(1)-'
Al hacerlo así, pasamos el filtro del formulario (http://test) y el filtro del servidor ('). Luego cuando el servidor nos devuelva la página, el navegador transformará automáticamente ' a ‘. Completando así el laboratorio:
