Pensavo che il carattere \
(backslash) fosse un personaggio pericoloso che dovevi filtrare / codificare correttamente per proteggerti dagli attacchi XSS (lo dice anche OWASP), e lo faccio ancora, ma perché?
Ho trovato un sito Web in cui è archiviata la query di ricerca quando si cerca nel sito Web una variabile JavaScript, come questa:
var_name = "query"
Filtra doppie virgolette, virgolette singole e punti e virgola, ma sono in grado di usare cose come \n
e \r
(anche se \r
sembra solo rendere spazio bianco ...)
ma per qualche motivo sono solo ora in grado di ottenere il alert()
chiamato con successo.
Ho giocato con \n
, come mettere un po 'prima e dopo alert()
, e anche sfuggire alla doppia citazione di chiusura:
var_name = "\n\nalert()\n\n\"
Ma niente sembra funzionare. Penso che mi manchi qualcosa di ovvio qui, ma se qualcuno potesse aiutarmi qui e chiarire questo sarei grato!