Abbiamo modificato la gestione delle sessioni da cookie basati a riscrittura URL. In questo modo l'ID della sessione viene trasmesso come parte dell'URL.
Ora c'è un problema di vulnerabilità, in cui chiunque utilizzi questo URL sarà in grado di accedere al sistema.
Per risolvere questo problema, abbiamo fatto quanto segue
-
È stato creato un listener di sessione HTTP per gestire l'elenco di HTTP sessioni. L'ascoltatore reagisce sugli eventi durante la creazione o la sessione distrutta.
-
Un filtro di sessione è stato creato per verificare la sessione HTTP e il controllo la sua integrità rispetto agli attributi della richiesta HTTP sarà la sessione invalidato in caso di richiesta di attributi (identificazione del cliente origine) non corrispondono agli attributi originali memorizzati con la sessione. (a bloccare il tentativo di hijack della sessione)
Tuttavia penso che questo abbia un gap, quando stai provando ad accedere tramite un proxy ecc.
C'è qualche altra soluzione efficace per questo?
Inoltre non possiamo usare librerie di terze parti per risolvere questo problema a causa della natura del prodotto.