Android靜態安全檢測 -> WebView明文儲存密碼 阿新 • • 發佈:2019-01-31 WebView明文儲存密碼 -WebSettings.setSavePassword方法 一、API 1. 繼承關係 【1】java.lang.Object 【2】android.webkit.WebSettings 2. 主要方法 【1】setJavaScriptEnabled(boolean flag):是否支援js 【2】setPluginsEnabled(boolean flag):是否支援外掛 【3】setSavePassword(boolean save):是否儲存密碼 【4】其他方法 二、觸發條件 1. 呼叫getSettings方法,獲取WebSettings物件 【1】對應到smali語句中的特徵:;->getSettings()Landroid/webkit/WebSettings; 2. 呼叫WebSettings.setSavePassword方法,設定setSavePassword(true)或沒有顯示設定(預設為true) 【1】對應到smali語句中的特徵: Landroid/webkit/WebSettings;->setSavePassword(Z)V 判斷對暫存器的賦值:const v1 0x1 三、漏洞原理 【1】在使用WebView的過程中忽略了WebView setSavePassword,當用戶選擇儲存在WebView中輸入的使用者名稱和密碼,則會被明文儲存到應用資料目錄的databases/webview.db中。如果手機被root就可以獲取明文儲存的密碼,造成使用者的個人敏感資料洩露 四、修復建議 【1】使用WebView.getSettings().setSavePassword(false)來禁止儲存密碼