Esiste un modo per bloccare (o approvare condizionatamente) iFrame sul lato client?

7

Dato che iFrames sono utilizzati in molti exploit comuni , mi piacerebbe disabilitare gli iFrame condizionatamente ad eccezione dei siti che lo richiedono come GMail o < a href="https://security.stackexchange.com/a/31291/396"> MasterCard SecureCode .

Sospetto anche che il tag <object> abbia funzionalità correlate.

  • Esiste un modo per bloccare condizionalmente l'utilizzo di iFrame (e / o <object> ) sul lato client, forse in modo simile a un blocco popup?
posta random65537 05.03.2013 - 16:08
fonte

3 risposte

1

Normalmente questo sarebbe un problema difficile dato che iFrame fanno parte delle specifiche HTML. Hooray Browser Scripting!

Una soluzione potrebbe essere quella di utilizzare uno script greasemonkey per FireFox o uno script incorporato in Chrome. Ecco un link a uno script Greasemonkey che afferma di fare ciò che vuoi e un po 'di più.

link

Potrebbe essere necessario modificarlo leggermente per ottenere i risultati esatti desiderati, ma questo dovrebbe farti andare.

Condividi e divertiti.

    
risposta data 05.03.2013 - 16:45
fonte
1

In alcuni browser è possibile disabilitare gli iframe e quindi impostarli per l'utilizzo in base alle preferenze del sito. So che opera fornisce questa funzionalità.

Da Quirksmode :

Disabling iframes

  • IE9: Internet Options -> Security -> Custom level (for Internet zone) -> (scroll down) -> Launching programs and files in an IFRAME -> set to Disable.
  • Firefox: Go to about:config -> search for “frames” -> click on browser.frames.enabled
  • Opera: Ctrl+F12 -> Advanced -> Content -> Style Options -> uncheck Enable inline frames

Inoltre, potresti creare una regola in un proxy, come privoxy , per filtrare tutti gli iframe e quindi per escludere i siti che desideri avere iframe. Credo che il comportamento integrato faccia solo iframe-add, ma possa essere modificato. Questo ti darà un blocco più globale. Dovresti davvero aver bisogno di un'espressione regolare per trovare il tag di apertura e per rimuoverlo fino alla sua chiusura, potrebbero essere alcuni casi in cui interromperà la pagina.

Modifica, sembra che l'opera in realtà non disabiliti gli iframe. Ho disabilitato gli iframe sul link quirksmode qui sopra, e ancora registrava l'iframe. Ciò è confermato nei Forum di Opera . Speravo che la pagina di quirksmode fosse obsoleta.

Probabilmente il miglior risultato da bloccare a livello di proxy prima di fare affidamento su script utente, funzioni del browser, ecc. Inoltre, più universale.

    
risposta data 05.03.2013 - 21:37
fonte
0

Se stai semplicemente cercando di non essere influenzato da iframe che contengono collegamenti a kit di exploit o pagine di exploit, probabilmente stai meglio usando NoScript per Firefox o NotScripts. Fa il tipo di blocco condizionale desiderato e può bloccare praticamente tutto ciò che potrebbe portare a un exploit (Javascript, Java, Flash, Silverlight, ecc.). Se viene caricato un iframe ma non è possibile eseguire alcun tipo di script, è completamente innocuo.

Direi che questo è probabilmente più sicuro del semplice blocco degli iframe. Se un sito che visiti risulta essere stato violato, non c'è alcun motivo per cui l'utente malintenzionato non può eseguire <script src="http://evilsite.com"></script> che contiene codice che carica un JAR dannoso e quindi un SWF dannoso. gli iframe non sono l'unica cosa che può caricare codice arbitrario da domini esterni.

    
risposta data 06.03.2013 - 04:27
fonte

Leggi altre domande sui tag