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

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

在上一篇文章安卓應用程序滲透測試八中,我們講解了當app想要與其他app共享數據時,通過content provider發起攻擊和不安全的加密技術,本文我們繼續講解其他攻擊手法。

攻擊安卓粘貼板(pasteboard)

安卓提供剪貼板框架來複制和粘貼不同類型的數據,如文本,圖像,二進位流數據或者其他複雜的數據類型。

簡單的文本數據直接存儲在剪貼板中,而複雜的數據則存儲為一個引用,將要粘貼的應用使用content provider可以對這個引用進行解析。

在實現了剪貼板框架的app內部或不同的app之間可以進行複製粘貼。

為了使用剪貼板,你需要調用getSystemService()方法來實例化一個ClipboardManager對象。

「服務調用剪貼板」,服務碼1,2,3分別代表的是getClipboadrText,setClipboardText和hasClipboardText。

服務調用剪貼板 2 s16 thisisinsertedtext(插入的內容)

下面使用銀行app來作為例子,我們從一個app中複製賬號,如圖:

我們可以看到所有進程,我們也可以通過apk名來搜索我們想看的進程,如圖:

命令:ps | grep 『insecure』

我們可以使用下面的命令來獲取到複製的賬號:

我們可以看到輸入的內容,也就是app中被複制的內容。能看到明文,這就很不安全了。如果是信用卡,借記卡,PIN,CVV或者是賬號,這就更加嚴重了。

緩解措施

·為了完全不使用剪貼板,KeePass密碼管理軟體提出了所謂的自動類型。它通過模擬相應的按鍵直接向目標欄位填充。這麼做的優點是沒有通過剪貼板來傳輸數據。

·如果要使用剪貼板來複制粘貼密碼時,可以配置KeePass在短時間內自動清除clipboard中的內容。

·複製密碼時,KeePass會在其主窗口底部顯示一個遞減進度條,用戶可以實實在在的看到超時進度,一旦超時到期(例如15秒或30秒),如果剪貼板中還包含KeePass數據,KeePass就會立刻刪除剪貼板的內容(用戶無法再使用剪貼板歷史管理功能)。

攻擊安卓鍵盤緩存

安卓中有一個用戶字典,可以保存用戶輸入,為了方便以後自動更正用戶的輸入。但是所有其他的app都可以任意訪問這個用戶字典,而沒有進行許可權設置。

在下面的例子中,我們將選擇文本,添加用戶名到用戶字典中,如圖:

你可以在用戶字典資料庫中獲取到這個信息。

用戶字典文件存儲在/data/data/com.android.providers.userdictionary/databases目錄中

打開資料庫文件 sqlite3 user_dict.db

『select * from words』這條查詢語句會查詢出所有添加到用戶字典的信息,如圖:

緩解措施

·禁用任何敏感信息的自動更正功能,不僅是密碼欄位。因為鍵盤可以緩存敏感信息,所以可以恢復。

·為了提高安全性,可以考慮使用自定義鍵盤(以及PIN輸入),該鍵盤可以禁用緩存,還提供了其他的保護措施來防禦惡意軟體。


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

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


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

Adobe Reader類型混淆導致代碼執行漏洞分析
CVE-2017-8360利用分析

TAG:嘶吼RoarTalk |