In che modo gli aggressori possono sfruttare $ _SERVER ['HTTP_REFERER']

4

Sono stato avvisato che il $_SERVER['HTTP_REFERER'] di PHP è un vettore di attacco comune per i siti web. Quali sono i modi in cui gli aggressori sfruttano questa funzione? Come posso proteggermi da loro?

    
posta bernie2436 20.05.2014 - 20:18
fonte

2 risposte

4

Se il sito Web prende determinate decisioni di sicurezza in base al referer e non esegue altri controlli di sicurezza, puoi falsificare questo valore.

Inoltre, se si invia HTTP non elaborato, è possibile utilizzarlo per alcuni tipi di iniezione o possibili attacchi XSS. Ad esempio, se la pagina Web si comporta in modo diverso in base al referer, potrebbe prendere il referente come input per una funzione. Dal momento che il referente non è comunemente un campo di input dell'utente, potrebbe dimenticarsi di eseguire un'appropriata sanitizzazione su questo campo, fornendo un'introduzione a qualsiasi tipo di attacco basato sull'input.

Altre ancora da OWASP:

risposta data 20.05.2014 - 20:26
fonte
2

L' intestazione "referer" di solito punta alla pagina da cui l'utente è appena arrivato, anche se non viene inviato da browser più moderni quando si utilizza HTTPS. Questo è un problema di per sé, poiché un sito che si basa su di esso non può essere protetto con SSL / TLS.

Alcune vecchie versioni di plugin come Flash hanno permesso di impostare questa intestazione , ovvero se un sito lo utilizza come prevenzione CSRF , potrebbe essere aggirate.

Inoltre, se esiste una vulnerabilità XSS solo su una determinata pagina, script può essere iniettato in quella pagina che poi reindirizzerà su un'altra pagina che normalmente sarebbe protetta a causa di un controllo referente. Poiché il referente verrà ora da una pagina sul dominio locale, l'attacco CSRF ha ora esito positivo.

Ci sono state anche altre vulnerabilità in cui la logica per controllare il referer non è corretta.

es. un controllo su www.example.com potrebbe essere ingannato da un referente di http://www.example.com.evil.com/foo.html o http://www.evil.com/www.example.com e altre varianti simili.

    
risposta data 21.05.2014 - 11:07
fonte

Leggi altre domande sui tag