APP面臨的威脅
APP評估思路
APP自動化檢測思路
安全測試要點
證書和簽名
- 將apk文件更名為zip
- 使用unzip解壓
- META-INF中包含簽名文件和真正的CERT.RSA文件(公鑰證書自簽名)
- 使用keytool工具查看證書內容
keytool -printcert -file META-INF/CERT.RSA
- cat META-INF/CERT.SF
Allowbackup漏洞
AndroidManifest.xml文件中allowBackup屬性值被設置為true。當allowBackup標志為true時,用戶可通過adb backup來進行對應用數據的備份,在無root的情況下可以導出應用中存儲的所有數據,造成用戶數據的嚴重泄露。
整改建議
將參數android:allowBackup屬性設置為false,不能對應用數據備份。
WebView漏洞
應用中存在WebView漏洞,沒有對注冊Java類的方法調用進行限制,導致攻擊者可以利用反射機制調用未注冊的其他任何JAVA類,最終導致JavaScript代碼對設備進行任意攻擊。
整改建議
通過在Java的遠程方法上面聲明一個@JavascriptInterface 來代替addjavascriptInterface;
在使用js2java的bridge時候,需要對每個傳入的參數進行驗證,屏蔽攻擊代碼;
Note :控制相關權限或者盡可能不要使用js2java 的bridge 。
關鍵數據明文傳輸
應用程序在登錄過程中,使用http協議明文傳輸用戶名和密碼,並未對用戶名和密碼進行加密處理。通過監控網絡數據就可以截獲到用戶名和用戶密碼數據,導致用戶信息泄露,給用戶帶來安全風險。
整改建議
在傳輸敏感信息時應對敏感信息進行加密處理。
任意賬號注冊
- 使用手機號133*887注冊某個APP,獲取驗證碼46908;
- 在確認提交時,攔截請求,修改注冊的手機號碼,即可注冊任意賬號,這里修改為1338*678(任意手機號);
整改建議
注冊過程最后的確認提交時,服務器應驗證提交的賬號是否是下發驗證碼的手機號。