Uno shim (a.k.a. polyfill) può essere installato in IE, FF o Chrome senza la conoscenza dell'utente e può leggere le password immesse dall'utente in una pagina di accesso?

2

Le domande qui riguardano gli shim nei 3 browser più usati.

A shim (noto anche come polyfill) è una parte di codice (spesso JavaScript o Flash) implementata per aumentare l'API nativa in un browser Web.

Ho due domande su questa tecnologia:

  • È possibile installare uno shim in IE, FF o Chrome senza che l'utente ne sia al corrente?
  • Il codice nello shim ha accesso alle credenziali di accesso inserite da utente su una pagina Web?
posta coderworks 22.08.2015 - 19:13
fonte

3 risposte

3

Uno sviluppatore sceglie di scrivere un polyfill perché soddisfa i suoi bisogni personali. Da questo aspetto personale potrebbero venire tutti i problemi che potresti immaginare, ovvero il codice JavaScript dannoso.

Can a shim be installed in IE, FF, or Chrome without user knowledge?

Sicuramente. Attacchi di download drive-by che consistono nella consegna di malware senza la conoscenza / il consenso del visitatore di una determinata applicazione Web compromessa. Tali attacchi sfruttano le vulnerabilità nei browser Web stessi o in quelli dei plug-in installati. Tieni presente che questi plug-in possono essere innocui ma vulnerabili o dannosi per progettazione;

Does the code in the shim have access to login credentials entered by user on a web page?

Shim o meno, a condizione che un utente malintenzionato riesca a installare ed eseguire codice dannoso JavaScript nel tuo browser, tutto può succedere. Non ho un esempio migliore per darti del famigerato ZombieBrowserPack . Questo è un progetto opensource sviluppato inizialmente come POC da Zoltan Balazs e si rivolge ad alcuni dei browser più utilizzati (Chrome, Firefox e IE). Questo plug-in può essere manipolato in remoto per sottrarre credenziali di autenticazione e persino bypassare meccanismi di autenticazione a due fattori come quelli implementati da Yahoo e Google. Può anche dirottare il tuo account Facebook o ottenere le credenziali del tuo conto bancario se effettui un acquisto online. Puoi immaginare un tale plug-in finalizzato a soddisfare questa o quella caratteristica (shim) e fare qualcosa di nefasto dietro in background.

    
risposta data 23.08.2015 - 12:13
fonte
3

Uno shim o polyfill non viene installato in un browser ma viene consegnato come parte di una pagina Web per fornire funzionalità per questa pagina. È solo normale contenuto attivo (JavaScript, Flash ...) che viene chiamato solo come shim o polyfill perché serve allo scopo specifico descritto da questi nomi. Non ha permessi speciali o restrizioni rispetto ad altri contenuti attivi.

Poiché non è niente di speciale, viene incluso in una pagina Web allo stesso modo degli altri contenuti attivi, ad esempio utilizzando il tag script in caso di JavaScript. E poiché uno shim non ha restrizioni rispetto ad altri contenuti attivi, può fare tutto ciò che altri contenuti attivi possono fare anche, manipolando l'albero DOM, catturando i tratti chiave, leggendo il contenuto dai campi di input, accedendo ai cookie per la pagina ecc. Ma ha anche tutte le restrizione di altri contenuti attivi, cioè che queste azioni sono soggette alla stessa politica di origine, ecc. Ciò significa che non può acquisire password da siti di terze parti, ma può acquisire password dal sito in cui è stato incluso lo shim.

Quando includi uno shim / polyfill di terze parti nel tuo sito web, devi essere consapevole che il contenuto dello shim è fuori dal tuo controllo. Non solo può svanire e quindi rompere il tuo sito, ma può anche essere modificato per includere funzionalità che non ti piacciono (come catturare le password). Questo può accadere perché la terza parte è malintenzionata da sola o viene violata. Questo vettore di attacco non è rilevante solo per gli shim ma per qualsiasi tipo di contenuto attivo che includi da una fonte di terze parti; Ad esempio, librerie Javascript come jQuery, annunci pubblicitari, pulsanti simili per i social network ecc.

Quindi se hai bisogno di uno shim è meglio copiarlo sul tuo sito in modo da avere il pieno controllo sulla disponibilità e le modifiche. Dovresti dare un'occhiata al codice per assicurarti che lo shim stesso non includa il codice di terze parti da solo perché allora avresti ancora le stesse vulnerabilità.

    
risposta data 23.08.2015 - 16:59
fonte
1

Uno shim o polyfill non è niente di particolarmente speciale. È solo un codice javascript: il nome viene utilizzato per descrivere l'attività che esegue (ad esempio, il comportamento atteso di riempimento in browser più vecchi o incompatibili)

Per rispondere alle tue domande:

  • È possibile installare uno shim in IE, FF o Chrome senza che l'utente ne sia al corrente?
    Poiché gli shim ei polyfill sono solo librerie Javascript, la modalità di infezione più probabile sarebbe un'estensione del browser dannoso. Questi sono spesso installati portandosi dietro il processo di installazione delle applicazioni desktop. (Pensa a barre degli strumenti di ricerca, ecc.)

  • Il codice nello shim ha accesso alle credenziali di accesso inserite dall'utente su una pagina Web?
    Se Javascript ha trovato la sua strada nel contesto della pagina che stai guardando, in genere sarà molto semplice intercettare i moduli inviati o afferrare il valore dei campi di input che digiti. È un motivo per cui dovresti essere cauto quando installazione delle estensioni del browser e accesso a "Tutti i siti" o "Tutti i dati del sito".

risposta data 23.08.2015 - 04:56
fonte

Leggi altre domande sui tag