Nel mio sito web ho una casella di testo in cui l'utente può inserire ciò che vuole e il testo viene stampato nella pagina successiva. Per alcuni casi, possono digitare tag HTML per formattare il loro messaggio in modo che nella pagina successiva del sito Web le cose possano essere evidenziate in grassetto, in un elenco, in corsivo, ecc., Ma i tag di script non sono consentiti a causa delle vulnerabilità XSS.
Al momento permetto al tag <a>
di essere riflesso, quindi posso digitare nella casella di testo <a href=https://google.ca>sample_link</a>
e nella pagina successiva se l'utente fa clic sul testo sample_link
, verranno reindirizzati a google.ca .
Ho letto se è possibile ottenere un virus semplicemente visitando un sito Web e in base a questa risposta: Puoi ottenere virus visitando un sito Web in Chrome? e molti altri, sembra possibile. Quindi, assicurati che l'utente non abbia inserito google.ca e invece un URL dannoso, quindi se fa clic su quel collegamento il suo computer può essere infettato o potrebbe verificarsi qualche altro attacco.
Quello che voglio sapere è se questo è davvero un problema, dal momento che ora sembra che l'unico modo per questo sia un problema è se l'utente stesso inserisce questo link dannoso e fa clic su di esso. Quindi c'è un modo per un utente malintenzionato di sfruttare il fatto che questo tag <a>
viene riflesso? Immagino che un modo è che se quello che qualcuno entra in una casella di testo viene riflesso in una pagina che tutti possono vedere, allora altri utenti possono fare clic su questo link, ma ciò significherebbe siti come StackOverflow e altri forum "non sicuri".
Sarebbe bello se qualcuno potesse far luce su questa situazione. Grazie in anticipo!
Modifica
Ho una serie di tag autorizzati a cui è consentito riflettere. Eccoli:
"a", "b", "blockquote", "br", "cite", "code", "dd", "dl", "dt", "em", "i", "li", "ol", "p", "pre", "q", "small", "span", "strike", "strong", "sub", "sup", "u", "ul"