Ignora doppia citazione di escape
In base alla tua descrizione, dovrebbe funzionare:
\ "); alert (" XSS
Il "sarà salvato come \", risultante in \ ", che sfugge a \, ma non a".
Per evitare ciò, dovresti per lo meno scappare \ come \.
Ignora il doppio virgolette di escape e il doppio backslash in una sola barra rovesciata
In base al tuo commento, suppongo che le parti rilevanti del filtro siano le seguenti:
" -> \"
\ -> \
Questo non è sicuro neanche. Un'iniezione potrebbe apparire come questa:
\\ "); alert (1
"sarà sfuggito come \" nel passo 1 che ci porta a \\ ", che viene poi trasformato in \" al passo 2. Non puoi usare virgolette doppie nella stringa iniettata, ma questo non è un problema come XSS con citazioni singole o completamente senza virgolette è perfettamente possibile.
Per garantire questo il doppio backslash dovrebbe essere sfuggito, non trasformato in uno solo, il che ci darebbe \\\\\ "con l'iniezione sopra descritta, che è sicura.