Perché i collegamenti locali sono disabilitati di default nei browser moderni?

5

Ho difficoltà a cercare di rendere i miei file locali accessibili a javascript (per l'apertura in una nuova finestra) da Chrome e ho già trovato una soluzione alternativa in Firefox. La mia domanda è: perché javascript non può aprire un file in una nuova finestra del browser (con window.open ) per impostazione predefinita? Non riesco a vedere alcun problema di sicurezza con questo.

L'unica cosa che sto leggendo ovunque su questo argomento è: "I siti Web non dovrebbero avere accesso al mio disco per leggere i file." Ma javascript in realtà non è in grado di leggere il contenuto dei file a causa della politica della stessa origine . Puoi testarlo come di seguito.

Ad esempio, nelle impostazioni di NoScript puoi scegliere Avanzate- > Affidate e contrassegnate "Consenti collegamenti locali". Ora apri la console di Firefox ed esegui (dovresti consentire i popup per questo):

x = window.open('file:///%some_path_to_text_file%')
x.document

Ricevo "Errore: Autorizzazione negata per accedere alla proprietà" documento " [Ulteriori informazioni] ". Quindi, qual è l'affare? È sicuro mantenere l'opzione "Consenti collegamenti locali" in NoScript per tutto il tempo?

    
posta Wolfram 13.03.2017 - 12:33
fonte

1 risposta

3

Se il browser è in grado di aprire un file dal computer, potrei vedere un attore malintenzionato scaricare un payload di exploit del browser sul computer dell'utente e quindi fare in modo che js apra quel file sfruttando qualcosa nel browser.

In questo caso l'utente malintenzionato dovrebbe avere un exploit per il browser dell'utente che ha attaccato il modo in cui il browser legge un file. Questi exploit sono abbastanza comuni da trovare.

Potrebbe anche essere possibile per l'attaccante scaricare un file sul computer dell'utente che poi usa il suo contesto a livello di sistema per afferrare altri file ed estrapolarli incorporandoli nell'src di un'immagine (l'ho usato prima ). Ma non sono sicuro al 100% se un file in esecuzione nel browser da locale possa accedere ad altri file, forse qualcun altro può incantarli o costruirò una dimostrazione di concetto se avrò un po 'di tempo in più.

Nella maggior parte dei casi non è una buona idea mescolare il contenuto di Internet con quello locale.

    
risposta data 14.03.2017 - 01:10
fonte

Leggi altre domande sui tag