Un sito Web può determinare quale sistema operativo o browser utilizza un visitatore se l'useragent è oscurato / modificato?

12

Supponiamo che un visitatore di un sito Web abbia cambiato il suo useragent a qualcosa di simile al seguente, ma sta usando linux:

Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0

Supponiamo che il sito web sia nelle mani di un hacker malvagio. Questo trucco è sufficiente per rendere il kit expolit non funzionante o è possibile che l'hacker acquisisca il controllo del visitatore (supponiamo che il modulo flash e il browser del visitatore non siano aggiornati)?

Un sito web può determinare quale sistema operativo o browser web sta utilizzando un visitatore se l'useragent è oscurato / modificato?

    
posta DevRandom 21.12.2013 - 19:57
fonte

6 risposte

8

Se si consente al sito Web di eseguire Javascript che può inviare nuovamente il codice al server, ci sono probabilmente diversi modi per rilevare il browser in quanto i diversi browser gestiscono le cose in modo leggermente diverso.

Oltre a ciò ci sono anche variabili utente oltre all'agente utente con l'identificazione del browser. Vedi link e link

    
risposta data 21.12.2013 - 20:33
fonte
8

Se guardi le informazioni raccolte da panopticlick , puoi vedere che l'useragent è solo uno dei pezzi di dati che raccolgono. È possibile che altri dati possano essere utilizzati per impronte digitali in modo efficace nell'assenza di un utente preciso.

Esistono inoltre tecniche aggiuntive utilizzate da prodotti come Beef per gli utenti di impronte digitali, in cui una applet Java può (se può essere eseguita dall'utente) estrae una vasta gamma di informazioni da un PC.

Quindi direi che, isolatamente, il blocco di useragent da solo non sarebbe sempre sufficiente per offuscare la combinazione browser / sistema operativo che stai utilizzando.

    
risposta data 21.12.2013 - 21:02
fonte
4

Senza voler aggiungere troppo a ciò che è già stato detto, non sarebbe difficile scrivere un javascript che controlli le funzionalità disponibili nel browser e le confronti con i browser su html5test per trovare il browser più probabile.

    
risposta data 21.12.2013 - 22:01
fonte
3

Come altri hanno notato, forging user-agent non ti proteggerà. Concordo sul fatto che l'utilizzo di NoScript e Adblock Plus e l'eliminazione dei plug-in del browser Java sono passaggi chiave.

Per la navigazione ad alto rischio, è più sicuro lavorare in macchine virtuali. Ancora più sicuro utilizza i LiveCD nei computer diskless. Anche l'isolamento delle reti e delle unità USB è fondamentale.

    
risposta data 22.12.2013 - 05:20
fonte
2

Onestamente, dipende dall'utilizzo che si sta facendo. Se si tratta di un exploit basato su browser, il più delle volte, un utente malintenzionato non si preoccuperà dello User-Agent che stai inviando, a patto che ci sia un exploit per quel browser. Alcuni exploit in Metasploit non inviano payload ogni volta che rilevano un browser incompatibile (tramite UserAgent), ma un utente malintenzionato può facilmente modificare quegli script per attaccare ciecamente.

Se stai cercando di proteggerti da attacchi drive-by o quando fai clic su un collegamento dannoso per errore, ti consiglio di installare NoScript per impedire l'esecuzione di script, ad eccezione dei siti Web attendibili. Anche le estensioni come AdBlock aiutano: molti exploit vengono forniti tramite reti di consegna degli annunci e AdBlock bloccherà anche alcuni di questi.

Rory menziona l'utilizzo di applet Beef e Java - mentre l'ultimo aggiornamento di Java fornisce protezione contro le applet non firmate, consentendo a Java di eseguirlo sul tuo browser come il modo più sicuro per essere sfruttato. L'ho usato durante i test di penetrazione troppe volte, e l'ho visto in azione come un carico utile usato anche dagli aggressori.

Il punto è che non c'è modo di "offuscare" te stesso completamente su Internet. Puoi fare certe cose che ti rendono più sicuro, ma alla fine della giornata, il modo migliore per proteggersi da tali attacchi è semplicemente fare attenzione a quali link fai clic e ricordare che Internet è un posto pericoloso.

    
risposta data 22.12.2013 - 03:51
fonte
2

Anche quando non si utilizza Javascript o altre comunicazioni è possibile impronte digitali dei browser con altre caratteristiche delle loro richieste HTTP.

Una richiesta HTTP può contenere molto più del User-Agent . Ci sono molte più intestazioni. L'ordine in cui vengono inviate queste intestazioni non è standardizzato, quindi ogni browser ha il proprio ordine. Questa differenza di comportamento può essere utilizzata per i browser di impronte digitali.

L'intestazione Accept , ad esempio, è la prima intestazione inviata in Internet Explorer, arriva dopo User-Agent in Firefox e dopo Connection: keep-alive in Chrome.

Quando l'intestazione Accept-Encoding include sdch , puoi essere sicuro che si tratta di un browser basato su webkit, perché attualmente solo il webkit supporta la compressione sdch.

    
risposta data 23.12.2013 - 07:35
fonte

Leggi altre domande sui tag