1. 程式人生 > >Android靜態安全檢測 -> Broadcast Receiver元件暴露

Android靜態安全檢測 -> Broadcast Receiver元件暴露

Broadcast Receiver元件暴露 - exported屬性

一、android:exported

該屬性用來標示,當前Broadcast Receiver是否可以從當前應用外部獲取Receiver message

1. true

表示可以

2. false

【1】表示不可以,當前Broadcast Receiver只能收到同一個應用或者擁有同一user ID的Application發出的廣播

【2】關於user ID的參考連結

3. 預設值

【1】根據當前Broadcast Receiver是否有intent filter標籤來定

  - 沒有intent filter - 預設值為
false

沒有任何的filter意味著這個Receiver只有在詳細的描述了它的class name後才會被喚起,這表示當前Receiver只能在應用內部使用,因為其它應用程式並不知道這個class的存在,所以在這種情況下,它的預設值是false

  - 有intent filter - 預設值為true

如果Broadcast Receiver裡面至少有一個filter的話,意味著該Receiver將會收到來自系統或者其他應用的廣播,這個時候它的預設值是true

4. 許可權控制

【1】不只有exported這個屬性可以指定Broadcast Receiver是否暴露給其它應用,也可以使用permission來限制外部應用給它傳送訊息

【2】android:permission  指定給該Receiver傳送訊息所需要的許可權名稱

5. 參考連結

二、觸發條件

1. 定位AndroidManifest.xml檔案中的Broadcast Receiver元件

【1】對應的特徵:<receiver

2. exported屬性的判斷

【1】android:permission 如果設定許可權控制,就認為不存在安全風險

【2】exported屬性設定為true

顯示設定android:exported="true"

預設值為true,也就是具有intent filter標籤,對應的特徵:<intent-filter

三、漏洞原理

【1】匯出的Broadcast Receiver元件可以被第三方APP任意呼叫,導致敏感資訊洩露,並可能受到許可權繞過、拒絕服務等攻擊風險

【2】詳細的原理&POC

四、修復建議

【1】如果應用的Broadcast Receiver元件不必要匯出,或者元件配置了intent filter標籤,建議顯示設定元件的“android:exported”屬性為false

【2】如果元件必須要接收外部應用傳送的訊息,建議對元件進行許可權控制

相關推薦

Android靜態安全檢測 -> Broadcast Receiver元件暴露

Broadcast Receiver元件暴露 - exported屬性 一、android:exported 該屬性用來標示,當前Broadcast Receiver是否可以從當前應用外部獲取Rec

Android靜態安全檢測 -> Content Provider元件暴露

Content Provider元件暴露 - exported屬性 一、android:exported 該屬性指示了content provider是否可以被其他應用程式使用 1. true 代

Android靜態安全檢測 -> Activity元件暴露

Activity元件暴露 - exported屬性 一、android:exported 該屬性用來標示,當前Activity是否可以被另一個Application的元件啟動 1. true 表示

Android靜態安全檢測 -> Zip檔案目錄遍歷漏洞

Zip檔案目錄遍歷漏洞 - ZipEntry.getName方法 一、API 1. 繼承關係 【1】java.lang.Object 【2】java.util.zip.ZipEntry 2.

Android靜態安全檢測 -> WebView忽略SSL證書錯誤檢測

WebView忽略SSL證書錯誤檢測 -SslErrorHandler.proceed方法 一、API 1. 繼承關係 【1】java.lang.Object 【2】android.os.Hand

Android靜態安全檢測 -> Intent隱式呼叫

Intent隱式呼叫 - android.content.Intent 一、API 1. 繼承關係 【1】java.lang.Object 【2】android.content.Intent

Android靜態安全檢測 -> WebView明文儲存密碼

WebView明文儲存密碼 -WebSettings.setSavePassword方法 一、API 1. 繼承關係 【1】java.lang.Object 【2】android.webkit.W

Android靜態安全檢測 -> 自定義許可權的保護級別

自定義許可權的保護級別 - protectionLevel屬性 一、Manifest檔案中許可權相關的知識 1. <uses-permission>標籤 【1】語法定義 【2】屬性

Android靜態安全檢測 -> 檔案任意讀寫

檔案任意讀寫 -openFileOutput方法 一、API 1. openFileOutput(String name , int mode) 示例:openFileOutput("text.tx

AndroidBroadcast Receiver元件詳解

BroadcastReceiver(廣播接收器)是Android中的四大元件之一。 下面是Android Doc中關於BroadcastReceiver的概述:①廣播接收器是一個專注於接收廣播通知資訊,並做出對應處理的元件。很多廣播是源自於系統程式碼的──比如,通知時區改

Android靜態安全檢查(十三):剪下板使用檢測

Android剪下板使用風險Android剪下板是可以暫存資料,剪下板在後臺起作用,存放在記憶體中。如果把隱私資料,特別是密碼,存放在剪下板中是不安全的,因為任何的應用程式都可以訪問剪下板中的資料。如果一個惡意應用,註冊了系統剪下板的監聽器事件,當剪下板資料發生變化的時候,就

Android 靜態安全檢查 Service劫持

什麼是Service劫持 Android應用中,Service是一個重要的元件,用於執行比較耗時的後臺任務,啟動一個Service常用的方法是ComponentName startService(Intent service),傳入的引數是Intent,Intent使用有兩

Android面試收集錄2 Broadcast Receiver詳解

定義 pla tro 一個 安全性 ont button ova 運行 1.Broadcast Receiver廣播接收器簡單介紹 1.1.定義 Broadcast Receiver(廣播接收器),屬於Android四大組件之一 在Android開發

[心得]Android程序間通訊之Broadcast Receiver

Android框架層提供的一些通訊機制Broadcast、Intent、Content Provider,主要用於應用程式開發時提供跨程序或應用程式內部的通訊。 android中,通過廣播(broadcast)可以通知廣播接受者某個事件發生了。比如一些系統時間:電源不足,

Android安全檢測之加固的坑

目前從生成apk到上線的流程是這樣的: 1.生成releaseapk–androidstudio生成的時候注意勾選v1和v2,注意如果是更新apk的話,versioncode和versionname都要改一下 2.apk加固–我用的是360加固或者樂加固(在騰訊的應用寶上線最好是樂加固)

Android研發安全2-Activity元件安全(下)

       這篇文章是Android研發安全之Activity元件安全第二篇,本文將給大家分享Activity介面劫持方面的預防知識。 什麼是Activity劫持        簡單的說就是APP正常的Activity介面被惡意攻擊者替換上仿冒的惡意A

Broadcast Receiver靜態註冊&動態註冊

Broadcast Receiver有兩種註冊方式,一是靜態註冊,一是動態註冊;二者在實現方法上不盡相同,使用場景也隨之不同; 靜態註冊的Broadcat會從application啟動開始就一直常駐監聽,直到application消亡; 動態註冊較之前者會比

Android中Intent詳解(二)之使用Intent廣播事件及Broadcast Receiver簡介

通過第一篇的講解,我們已經看到了如何使用Intent來啟動新的應用程式元件,但是實際上他們也可以使用sendBroadcast方法來在元件間匿名的廣播訊息。 作為一個系統級別的訊息傳遞機制,Intent可以在程序之間傳送結構化的訊息。因此,通過實現Broadcast Rec

Android入門——Broadcast Receiver詳解與應用

引言 作為Android四大元件之一——BroadcastReceive。BroadcastReceive廣泛運用在APP的開發中,其他的三大應用元件不同一樣,是唯一需要被動接收,即負責接收的廣播接收器永遠不知道什麼時候可以接收到廣播,這種機制其實有點像Eve

三款主流靜態原始碼安全檢測工具比較

靜態原始碼安全檢測工具比較 1. 概述 隨著網路的飛速發展,各種網路應用不斷成熟,各種開發技術層出不窮,上網已經成為人們日常生活中的一個重要組成部分。在享受網際網路帶來的各種方便之處的同時,安全問題也變得越來越重要。黑客、病毒、木馬等不斷攻擊著各種網站,如何保證網站的