Ho letto su base-uri e il tag di base HTML , ma quale è esattamente il base-uri
CSP da proteggere?
Ho letto su base-uri e il tag di base HTML , ma quale è esattamente il base-uri
CSP da proteggere?
Non sono riuscito a trovare alcun motivo ufficiale. Ma generalmente, l'iniezione di un tag base
può essere utilizzata nelle iniezioni HTML.
Ad esempio, considera che un utente malintenzionato può pubblicare solo HTML molto limitato (ma può utilizzare base
). A seconda del punto di iniezione, ora potevano dirottare i moduli esistenti per inviare le informazioni (ad esempio token CSRF, password, ecc.) Al loro server.
Ovviamente, in questo caso l'impostazione form-action
sarebbe meglio dell'impostazione di base-uri
, ma potrebbe non essere pratica (ad es. perché gli utenti legittimi devono creare moduli arbitrari).
Un altro esempio potrebbe essere il caso in cui gli sviluppatori non possono o non vogliono limitare da dove vengono caricati gli script. Hanno un filtro XSS in atto che impedisce l'inserimento di script, ma si sono dimenticati di filtrare base
. Un utente malintenzionato potrebbe ora eseguire XSS tramite base
HTML injection. L'impostazione di base-uri
lo impedirebbe.
Gli esempi potrebbero sembrare un po 'inverosimili. Ma suppongo che siano questi tipi di casi angusti che le direttive intendono proteggere. Il tag base
ha un uso pratico minimo (almeno in produzione), quindi perché non fornire l'opzione per limitarlo?
Dai documenti: link
The HTTP Content-Security-Policy response header allows web site administrators to control resources the user agent is allowed to load for a given page. With a few exceptions, policies mostly involve specifying server origins and script endpoints. This helps guard against cross-site scripting attacks (XSS).
Come funziona con base-uri? Dovresti definire base-uri come dominio del tuo sito web (ad esempio example.com), questo limiterebbe includere solo il dominio di base-uri.
Come esempio, qualcuno usa un XSS per fare un include remoto che carica un iframe (attacker.com/iframe.html) per rubare le credenziali degli utenti. Dal momento che è al di fuori di base-uri che iframe non verrà caricato.
Spero che questo aiuti.
Leggi altre domande sui tag html content-security-policy