Come si può sfruttare Android WebView e come proteggere la mia app dalla vulnerabilità di WebView?

5

Ho sentito che la vulnerabilità di WebView è attiva nelle versioni di Android precedenti alla 4.2. Ho letto che è stato corretto da Google nei loro aggiornamenti più recenti dalla 4.2. Quello che voglio sapere è una breve descrizione della vulnerabilità di WebView, ad esempio, come un utente malintenzionato può utilizzare questa vulnerabilità e qualsiasi soluzione per risolvere questo problema da solo nella mia app se è possibile proteggere la mia app Android da questa vulnerabilità.

    
posta Anandu M Das 04.12.2014 - 08:52
fonte

2 risposte

6

Le principali vulnerabilità coinvolte nel componente WebView sono riferimenti agli oggetti diretti di Insecure, SQL Injection e XSS (Cross-Site Scripting).

Sebbene tutti e tre siano potenzialmente enormi rischi, il potenziale di vulnerabilità XSS può essere utilizzato per accedere ai file delle preferenze condivise usando il comando file: /// o può utilizzare smsJSInterface.launchSMSActivity per inviare messaggi SMS indesiderati dal telefono, oltre rubare credenziali o fornire un falso fronte a HTML, CSS, Javascript o altri comportamenti a livello di browser.

Se disattivi setJavaScriptEnabled come segue, gli avversari non saranno in grado di eseguire Javascript per eseguire attacchi XSS:

myWebView.getSettings().setJavaScriptEnabled(false);

Oppure, se non riesci a farlo, assicurati che ogni contesto sia evaso correttamente utilizzando un componente filtro XSS come OWASP Java Encoder Project.

Puoi vedere quali dati sono disponibili per ogni WebView usando lo strumento da riga di comando sqlite3 o un browser compatibile con SQLite3 per visualizzare il file /app/-packagename-/db/webview.db. Ovviamente, qualsiasi input che si insinua nel database SQLite3 o che esegue una query o altra operazione stringa contro di esso può diventare un potenziale punto di inserimento per l'iniezione SQL, anche se in alcuni casi può essere richiesto uno scenario MITM di rete.

Alcuni esempi di riferimenti agli oggetti diretti insicuri possono essere trovati in questi tutorial di penetration testing contro l'app HerdFinancial che fa parte di OWASP GoatDroid Project :

risposta data 04.12.2014 - 20:02
fonte
1

WebView può anche essere sfruttato da siti Web dannosi in quanto non c'è modo di sapere se un sito è stato etichettato come malware o phishing. E la maggior parte delle volte, gli sviluppatori non visualizzano l'URL in modo che gli utenti finali non possano nemmeno verificare se il sito è ciò che pensano di essere. Abbiamo appena lanciato un'API di sicurezza per risolvere questo problema: link piacerebbe sentire le tue opinioni sull'API e documentazione: puoi utilizzare il servizio gratuito senza contratto.

    
risposta data 16.03.2015 - 19:34
fonte

Leggi altre domande sui tag