Al momento stiamo lavorando su correzioni di sicurezza OWASP e abbiamo identificato uno scenario di attacco per il quale stiamo cercando di capire una possibile soluzione:
- L'utente raggiunge un HTTPRequest valido per la nostra applicazione. L'URL nel browser dell'utente è impostato sul nostro URL dell'applicazione, ad es. %codice%
-
Ciascuno di questi:
- A: l'attaccante intercetta la richiesta e la inoltra a un sito malevolo anziché alla nostra applicazione. L'URL nel browser dell'utente è impostato sull'URL dell'applicazione, ad es.
https//www.abc.com/request
ma il contenuto sarà quello del sito dannoso. - B: l'applicazione elabora la richiesta e invia la risposta tramite Apache. Mentre la risposta è in rotta, un utente malintenzionato intercetta la risposta e sostituisce il contenuto dell'intera risposta con un sito o un messaggio dannoso come "You Are Hacked !!"
- A: l'attaccante intercetta la richiesta e la inoltra a un sito malevolo anziché alla nostra applicazione. L'URL nel browser dell'utente è impostato sull'URL dell'applicazione, ad es.
- In entrambi i casi, la risposta viene visualizzata nel browser dell'utente, con l'URL che punta ancora a
https://www.abc.com/request
nel browser, ma il contenuto è malevolo. Questo fa credere all'utente che sia ancora nella nostra applicazione.
Potremmo replicare questo scenario attraverso il nostro strumento proxy. Essere https, può essere che l'hacker non può decifrare la risposta, ma può certamente modificare il contenuto della risposta o reindirizzare a qualche sito dannoso. C'è un modo per identificare e impedire il rendering di tali risposte nel browser tramite Apache o intestazioni HTTP personalizzate?
Cosa succede se nello scenario (2A), l'utente viene instradato da un sito HTTPS valido a un sito HTTP dannoso?