Android静态安全检测 - Broadcast Receiver组件暴露
生活随笔
收集整理的這篇文章主要介紹了
Android静态安全检测 - Broadcast Receiver组件暴露
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Broadcast Receiver組件暴露 -?exported屬性
一、android:exported
該屬性用來(lái)標(biāo)示,當(dāng)前Broadcast Receiver是否可以從當(dāng)前應(yīng)用外部獲取Receiver message
1.?true
表示可以
2.?false
【1】表示不可以,當(dāng)前Broadcast Receiver只能收到同一個(gè)應(yīng)用或者擁有同一user ID的Application發(fā)出的廣播
【2】關(guān)于user ID的參考鏈接
http://yelinsen.iteye.com/blog/977683
3. 默認(rèn)值
【1】根據(jù)當(dāng)前Broadcast Receiver是否有intent filter標(biāo)簽來(lái)定
? -?沒有intent filter - 默認(rèn)值為false
?沒有任何的filter意味著這個(gè)Receiver只有在詳細(xì)的描述了它的class name后才會(huì)被喚起,這表示當(dāng)前Receiver只能在應(yīng)用內(nèi)部使用,因?yàn)槠渌鼞?yīng)用程序并不知道這個(gè)class的存在,所以在這種情況下,它的默認(rèn)值是false
? -?有intent filter - 默認(rèn)值為true
??如果Broadcast Receiver里面至少有一個(gè)filter的話,意味著該Receiver將會(huì)收到來(lái)自系統(tǒng)或者其他應(yīng)用的廣播,這個(gè)時(shí)候它的默認(rèn)值是true
4.?權(quán)限控制
【1】不只有exported這個(gè)屬性可以指定Broadcast Receiver是否暴露給其它應(yīng)用,也可以使用permission來(lái)限制外部應(yīng)用給它發(fā)送消息
【2】android:permission ?指定給該Receiver發(fā)送消息所需要的權(quán)限名稱
5.?參考鏈接
http://blog.csdn.net/watermusicyes/article/details/46460347
二、觸發(fā)條件
1.?定位AndroidManifest.xml文件中的Broadcast Receiver組件
【1】對(duì)應(yīng)的特征:<receiver
2.?exported屬性的判斷
【1】android:permission?如果設(shè)置權(quán)限控制,就認(rèn)為不存在安全風(fēng)險(xiǎn)
【2】exported屬性設(shè)置為true
??顯示設(shè)置android:exported="true"
??默認(rèn)值為true,也就是具有intent filter標(biāo)簽,對(duì)應(yīng)的特征:<intent-filter
三、漏洞原理
【1】導(dǎo)出的Broadcast Receiver組件可以被第三方APP任意調(diào)用,導(dǎo)致敏感信息泄露,并可能受到權(quán)限繞過、拒絕服務(wù)等***風(fēng)險(xiǎn)
【2】詳細(xì)的原理&POC
http://www.droidsec.cn/android-broadcast-security/
http://drops.wooyun.org/tips/4393
四、修復(fù)建議
【1】如果應(yīng)用的Broadcast Receiver組件不必要導(dǎo)出,或者組件配置了intent filter標(biāo)簽,建議顯示設(shè)置組件的“android:exported”屬性為false
【2】如果組件必須要接收外部應(yīng)用發(fā)送的消息,建議對(duì)組件進(jìn)行權(quán)限控制
轉(zhuǎn)自:
http://blog.csdn.net/u013107656/article/details/51890800
轉(zhuǎn)載于:https://blog.51cto.com/laoyinga/2053044
總結(jié)
以上是生活随笔為你收集整理的Android静态安全检测 - Broadcast Receiver组件暴露的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop问题:The auxServ
- 下一篇: 更换yum源