Sto facendo fatica a capire se il seguente potrebbe essere considerato come un XSS basato su DOM o XSS riflesso e speravo che qualcuno potesse aiutarmi a distinguere la differenza.
Immagina il seguente scenario:
-
Immagina che un sito abbia una funzionalità di ricerca in cui l'utente fornisce input in una richiesta GET, ad es.
www.testsiteexample.com?search=test;%20alert(1);
-
L'input dall'ingresso di ricerca viene riflesso all'interno di una variabile JavaScript:
var searchResult = *userdata*
Penso di aver risposto alla mia stessa domanda dato che l'input dell'utente è riflesso non salvato all'interno della dichiarazione della variabile javascript - la mia ipotesi sarebbe che questo è considerato XSS riflessivo. Ma allo stesso tempo l'XSS basato su DOM come dichiarato da OWASP è:
The attack payload is executed as a result of modifying the DOM “environment” in the victim’s browser used by the original client side script, so that the client side code runs in an “unexpected” manner. That is, the page itself (the HTTP response that is) does not change, but the client side code contained in the page executes differently due to the malicious modifications that have occurred in the DOM environment.
Quindi il fatto che l'input dell'utente cambi lo script lato client ricevuto all'utente, rendi questo un XSS riflessivo?