當前位置:
首頁 > 新聞 > 安卓應用程序滲透測試(七)

安卓應用程序滲透測試(七)

在上一篇文章安卓應用程序滲透測試六中,我們看到了漏洞被分為十大類。現在我們就來看看其中的幾個。

不安全的登錄—ADB Logcat:

Logcat是一個命令行工具,可以dump系統消息日誌,包括設備報錯時的堆棧跟蹤以及使用Log類從應用程序寫入的消息。

通過Android Logcat你可以:

·查看,過濾和收集所有應用程序日誌

·查看,過濾和收集所有系統日誌,例如垃圾收集器事件

·檢索已發生的所有意外錯誤

有時當您登錄應用程序時。這些憑據可以在日誌中找到。

緩解措施:adb logcat -c「(這會清除日誌),請確保在編寫應用程序憑證時不顯示在日誌中。

不安全的外部和內部存儲

我們已經知道設備中應用程序的所有數據都可以在/data/data目錄中找到,設備中的所有應用程序(apk文件)都可以在/data/app目錄中找到。

當你使用root設備時,你可以深入了解存儲在此目錄中的文件類型。

內部存儲

內部存儲是在Android應用程序中存儲數據的另一種方式。開發人員可以通過各種方式在本地存儲Android應用程序中的數據

示例

共享首選項,文件,緩存,SQLite資料庫,lib,日誌文件,二進位數據存儲,cookie存儲等。

共享首選項

「共享首選項」允許開發人員保存和獲取原始數據類型的持久鍵值對,例如布爾值,浮點數,整數,長整數和字元串。使用共享首選項類在Android應用程序中創建共享首選項。

Sq-lite資料庫

Sq-lite資料庫是基於文件的輕量級資料庫。它們通常具有擴展名「.db」或「.sq-lite」。Android為Sq-lite資料庫提供全面支持。我們在應用程序中創建的資料庫可被應用程序中的任何類訪問。其他APP無法訪問它們。

外部存儲

SD卡是Android中另一個重要的位置,我們可以存儲與我們的APP相關的數據。在外部存儲上創建的文件是全局可讀和可寫的。由於外部存儲可以由用戶刪除並且也可以由任何應用程序修改,因此我們不應使用外部存儲來存儲敏感信息。

緩解措施:

·對於本地存儲,安卓設備管理API可用於強制加密本地文件存儲,「set storage encryption」

·除非明確要求應用程序之間的信息共享,否則請確保任何共享首選項屬性為NOT_MODE_WORLD_READABLE(非全局可讀模式)

·對於SD卡存儲,可以通過"javax.crypto"庫實現一些安全性。

不安全通信

缺少證書檢查:Android應用程序無法驗證提供給它的證書的身份。大多數應用程序忽略警告並接受任何自簽名證書。而有些應用程序通過HTTP連接傳遞流量。

弱握手協商:應用程序和伺服器執行SSL / TLS握手,但使用不安全的密碼套件,容易遭到MITM攻擊。因此任何攻擊者都可以輕鬆解密該連接。

隱私信息泄漏:大多數情況下,應用程序通過安全通道進行身份驗證,但其他所有連接都是通過非安全通道。這對於應用程序來說並不安全,因為會話cookie或用戶數據等其他敏感數據可能會被惡意用戶攔截。

緩解措施:

·使用可信CA提供商簽名的證書,並考慮安全應用程序的證書固定。

·在傳輸層應用SSL/TLS,這樣一來,手機APP將使用SSL/TLS來傳遞敏感信息,如會話令牌或傳輸到後端API的其他敏感數據或Web服務信息。

·僅在使用密鑰鏈中的受信任證書驗證終端伺服器的身份後才建立安全連接。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

剖析身份管理是如何驅動安全性的?
安卓應用程序滲透測試(三)

TAG:嘶吼RoarTalk |