Reindirizzamenti e inoltri non convalidati

La maggior parte delle applicazioni Web su Internet reindirizza e inoltra frequentemente gli utenti ad altre pagine o altri siti Web esterni. Tuttavia, senza convalidare la credibilità di tali pagine, gli hacker possono reindirizzare le vittime a siti di phishing o malware o utilizzare i forward per accedere a pagine non autorizzate.

Cerchiamo di comprendere agenti di minaccia, vettori di attacco, debolezza della sicurezza, impatto tecnico e impatto sul business di questo difetto con l'aiuto di un semplice diagramma.

Esempio

Alcuni esempi classici di reindirizzamenti e inoltri non convalidati sono quelli forniti:

  • Supponiamo che l'applicazione abbia una pagina - redirect.jsp, che accetta un parametro redirectrul . L'hacker aggiunge un URL dannoso che reindirizza gli utenti che eseguono phishing / installa malware.

http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
  • Tutte le applicazioni web utilizzate per inoltrare gli utenti a diverse parti del sito. Per ottenere lo stesso risultato, alcune pagine utilizzano un parametro per indicare dove l'utente deve essere reindirizzato se un'operazione ha successo. L'autore dell'attacco crea un URL che supera il controllo di controllo dell'accesso dell'applicazione e quindi inoltra l'autore dell'attacco alla funzionalità amministrativa per la quale l'attaccante non ha accesso.

http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp

Meccanismi preventivi

  • È meglio evitare di utilizzare redirect e forward.

  • Se è inevitabile, dovrebbe essere fatto senza coinvolgere i parametri utente nel reindirizzare la destinazione.