Con un ataque XSS, normalmente intentas colocar el código JavaScript en un sitio web.
En su ejemplo, un usuario intenta iniciar sesión y en la página siguiente puede haber una advertencia como "Nombre de usuario [cadena de entrada] no es válido".
Ahora, si intenta iniciar sesión como alert(‘XSS attack’)
, no se considerará como un ataque xss porque el navegador ni siquiera reconoce su entrada como JavaScript, es solo una cadena normal. La advertencia de ejemplo de arriba en la página se verá así:
'La alerta de nombre de usuario (' Ataque XSS ') no es válida'
Pero si ingresas algo como esto:
<script type="text/javascript">alert("XSS");</script>
el navegador lo reconocerá como JS y probablemente lo evaluará. La advertencia se vería así:
'El nombre de usuario no es válido' (esto se debe a que JS no se mostrará en la página)
Conclusión : solo al cantar las etiquetas script
obtendrá un navegador para reconocer una cadena como JavaScript y, por lo tanto, solo con estas etiquetas se mostrará su ventana emergente.
Actualizar:
Como indica su comentario, la entrada solo se imprimirá en el valor del cuadro de texto, el enfoque no funcionará, ya que los cuadros de texto escapan de los valores automáticamente.
Pero puedes probar esto como nombre de usuario: " autofocus onfocus="alert(1)
, por lo que la marca del cuadro cambiará a partir de esto:
<input type="text" name="loginidtextbox" value="" autocomplete="off">
a esto:
<input type="text" name="loginidtextbox" value="" autofocus onfocus="alert(1)" autocomplete="off">