移动安全实验室

漏洞描述

在使用WebView的过程中忽略了WebView setSavePassword,当用户选择保存在WebView中输入的用户名和密码,则会被明文保存到应用数据目录的databases/webview.db中。如果手机被root就可以获取明文保存的密码,造成用户的个人敏感数据泄露。

测试方法

漏洞代码样例:

    ...    //mWebView.getSettings().setSavePassword(true);    mWebView.loadUrl("http://www.example.com");    ...

如上代码中没有显示调用setSavePassword(false) ,默认为true[1]。

解决方案

使用WebView.getSettings().setSavePassword(false)来禁止保存密码

参考资料

[1] http://developer.android.com/reference/android/webkit/WebSettings.html#setSavePassword(boolean)