QUESTO NON E 'SULLA XSS
Minaccia: Mallory immette i caratteri di controllo in un campo di testo di un'applicazione Web pubblica che altri utenti potrebbero utilizzare in un programma terminale (tramite copia + incolla o eseguendo uno script).
Un'altra minaccia è che un utente entra in un dominio di phishing (che viene visualizzato in seguito) e utilizza un carattere di controllo RTL in modo che appaia non-fasullo.
http://www.moc.lapyap
in realtà è http://www.\u202Emoc.lapyap
(Un altro motivo minore è che Postgres barfs se un utente immette il carattere null).
Non sto parlando di una normale iniezione XSS che esegue javascript. Sto usando JSoup per prevenire XSS e funziona bene, ma non blocca i caratteri di controllo (a meno che non capiti di creare un XSS)
Ho visto OWASP ESAPI Validator ma convalida solo i caratteri ASCII (ex nel metodo getValidPrintable ()).
Sembra che non ci siano buoni motivi per accettare:
\ u0000 - \ u001F (ad eccezione del ritorno a capo, avanzamento riga, scheda orizzontale)
\ u007F - \ u009F
\ U202E
Di quali altri dovrei preoccuparmi?
Escaping / encoding on save è errato come con XSS.