Con un attacco XSS, normalmente provi a inserire il codice JavaScript su un sito web.
Nel tuo esempio un utente prova ad accedere e nella pagina successiva potrebbe esserci un avvertimento come "Nome utente [stringa di input] non valido".
Ora se provi ad accedere come alert(‘XSS attack’)
, non deve essere considerato come un attacco xss perché il browser non riconosce nemmeno il tuo input come JavaScript - è solo una stringa normale. L'avviso di esempio riportato sopra nella pagina sarà simile a questo:
'Avviso nome utente (' XSS attacco ') non è valido'
Ma se inserisci qualcosa di simile:
<script type="text/javascript">alert("XSS");</script>
il browser lo riconoscerà come JS e probabilmente lo valuterà. L'avviso sarebbe simile a questo:
'Nome utente non valido' (questo perché JS non verrà mostrato nella pagina)
Conclusione : solo tagliando i tag script
otterrai un browser per riconoscere una stringa come JavaScript e quindi solo con questi tag mostrerà il tuo popup.
Aggiornamento:
Come afferma il tuo commento, l'input verrà stampato solo nel valore della casella di testo, l'approccio non funzionerà, poiché le caselle di testo escono automaticamente dai valori.
Ma potresti provare come username: " autofocus onfocus="alert(1)
, quindi il markup della casella cambierà da questo:
<input type="text" name="loginidtextbox" value="" autocomplete="off">
a questo:
<input type="text" name="loginidtextbox" value="" autofocus onfocus="alert(1)" autocomplete="off">