【移動(dòng)應(yīng)用開發(fā)技術(shù)】AndroidManifest.xml中含蓋的安全問(wèn)題詳解_第1頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】AndroidManifest.xml中含蓋的安全問(wèn)題詳解_第2頁(yè)
【移動(dòng)應(yīng)用開發(fā)技術(shù)】AndroidManifest.xml中含蓋的安全問(wèn)題詳解_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】AndroidManifest.xml中含蓋的安全問(wèn)題詳解

0x00關(guān)于AndroidManifest.xmlAndroidManifest.xml是每個(gè)android程序中必須的文件。它位于整個(gè)項(xiàng)目的根目錄,Manifest文件提供有關(guān)應(yīng)用程序到Android系統(tǒng)的基本信息,系統(tǒng)必須具有該信息才能運(yùn)行任何應(yīng)用程序的代碼。換句話說(shuō)APP是跑在Android系統(tǒng)上,既然要跑在其上,就必須提供信息給AndroidSystem,這些信息就存在AndroidManifest中。AndroidManifest.xml存放在app/src/main/目錄下。在反編譯APK文件后,其文件是以亂碼格式存在,需要進(jìn)行轉(zhuǎn)換才能正常查看。AndroidManifest.xml的主要功能0x01AndroidManifest.xml風(fēng)險(xiǎn)點(diǎn)分析1、allowBackup設(shè)置風(fēng)險(xiǎn)AndroidAPILevel8(Android2.1)及其以上Android系統(tǒng)提供了為應(yīng)用程序數(shù)據(jù)的備份和恢復(fù)功能,此功能的開關(guān)決定于該應(yīng)用程序中AndroidManifest.xml文件中的allowBackup屬性值,其屬性值默認(rèn)是true。當(dāng)allowBackup的屬性值沒有顯示設(shè)置為false時(shí),攻擊者可通過(guò)adbbackup和adbrestore來(lái)進(jìn)行對(duì)應(yīng)用數(shù)據(jù)的備份和恢復(fù),從而可能獲取明文存儲(chǔ)的用戶的敏感信息。

android:allowBackup=["true"|"false"]

android:allowBackup=["true"|"false"]2、debuggable設(shè)置風(fēng)險(xiǎn)該屬性用于指定應(yīng)用程序是否能夠被調(diào)試,即使是以用戶模式運(yùn)行在設(shè)備上的時(shí)候,如果設(shè)置為true,則可以被調(diào)試;但是現(xiàn)在Android版本均默認(rèn)debuggable的屬性值為false,所以建議使用默認(rèn)配置。

android:debuggable=["true"|"false"]

android:debuggable=["true"|"false"]3、組件導(dǎo)出風(fēng)險(xiǎn)四大組件可導(dǎo)出的組件能被第三方APP任意調(diào)用,導(dǎo)致敏感信息泄露,并可能被利用于繞過(guò)認(rèn)證、惡意代碼注入、sql注入、拒絕服務(wù)等攻擊;Activity中exported的默認(rèn)值而intentfilter標(biāo)簽代表是主Activity,而每個(gè)APP都會(huì)有一個(gè)主Activity,所以當(dāng)應(yīng)用的Activity不必要導(dǎo)出時(shí),或者配置了intentfilter標(biāo)簽,建議顯示設(shè)置android:exported="false"。如果組件必須要導(dǎo)出給其他應(yīng)用使用,建議對(duì)組件進(jìn)行權(quán)限控制。BroadcastReceive和Service的默認(rèn)值都跟Activity的一樣。ContentProvider中exported的默認(rèn)值當(dāng)minSdkVersion或者targetSdkVersion小于16時(shí),默認(rèn)為true大于17時(shí),默認(rèn)為false4、自定義權(quán)限風(fēng)險(xiǎn)在Android系統(tǒng)的安全模型中,應(yīng)用程序在默認(rèn)的情況下不可以執(zhí)行任何對(duì)其他應(yīng)用程序、系統(tǒng)或用戶帶來(lái)負(fù)面影響的操作。如果應(yīng)用需要執(zhí)行某些操作,就需要聲明使用這個(gè)操作對(duì)應(yīng)的權(quán)限,也就是在AndroidManifest.xml文件中添加<uses-permission>標(biāo)記,當(dāng)然也可以自定義屬于自己的permission。但是如果權(quán)限控制不當(dāng),那么就可能導(dǎo)致各種越權(quán)等安全問(wèn)題。0x02AndroidManifest.xml結(jié)構(gòu)0x03AndroidManifest.xml分節(jié)介紹1、manifest2、application3、activity4、intent-filter5、meta-data6、activity-alias7、service8、receiver9、provider10、uses-library11、supports-screens12、uses-configuration和uses-feature13、uses-sdk14、instrumentation15、<permission>、<uses-permission>、<permission-tree/>、<permission-group/>區(qū)別最常用的當(dāng)屬<uses-permission>,當(dāng)我們需要獲取某個(gè)權(quán)限的時(shí)候就必須在我們的manifest文件中聲明,此<uses-permission>與<application>同級(jí),具體權(quán)限列表請(qǐng)看此處通常情況下我們不需要為自己的應(yīng)用程序聲明某個(gè)權(quán)限,除非你提供了供其他應(yīng)用程序調(diào)用的代碼或者數(shù)據(jù)。這個(gè)時(shí)候你才需要使用<permission>這個(gè)標(biāo)簽。很顯然這個(gè)標(biāo)簽可以讓我們聲明自己的權(quán)限。比如:那么在activity中就可以聲明該自定義權(quán)限了,如:當(dāng)然自己聲明的permission也不能隨意的使用,還是需要使用<uses-permission>來(lái)聲明你需要該權(quán)限<p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論