3

首先,我必須承認,我是Android的新手,但我們知道,在Android中,我們無法通過其他應用程序啓動應用程序的私人活動。除非它們在intent-filter中設置爲android:exported = true,或者它們用於implicit調用。 ,但我們應該可以從應用程序啓動私人活動。當涉及到瀏覽器(特別是android)時,我們可以使用Intent URLs來啓動瀏覽器的私人活動。使用意圖URL啓動Android瀏覽器的私人活動

我在Opera Mobile中發現了一些活動,問題是我不能使用Intent URL運行它們,我不知道我在這做什麼錯誤。

例如有在戲曲活動稱爲OperaMainActivity(或另一個叫OperaStartActivity)我嘗試啓動它們是這樣的:

intent:#Intent;component=com.opera.browser/com.opera.android.OperaMainActivity;end 

intent:#Intent;component=com.opera.browser/com.opera.android.OperaStartActivity;end 

但這些都不將啓動活動被調用。

但我仍然可以啓動AdMarvelActivity這是一個私人,以及:

"intent:#Intent;S.url=https://google.com;component=com.opera.browser/com.admarvel.android.ads.AdMarvelActivity;end"; 

這裏是活動如何OperaMain在AndroidManifest定義:

<activity ns0:label="@string/app_name_title" ns0:name="com.opera.android.OperaMainActivity" ns0:launchMode="singleTask" ns0:configChanges="keyboard|keyboardHidden|orientation|screenSize" ns0:windowSoftInputMode="10" /> 

並沒有intent-filter它。

這是怎麼AdMarvelActivityAndroidManifest定義:

<activity ns0:theme="@*ns0:style/Theme.NoTitleBar.Fullscreen" ns0:name="com.admarvel.android.ads.AdMarvelActivity" ns0:process=":helper" ns0:configChanges="keyboard|keyboardHidden|orientation" /> 

我看到這兩個的區別並不是很大。我究竟做錯了什麼 ?!

+0

你在找嗎? https://stackoverflow.com/questions/3004515/android-sending-an-intent-to-browser-to-open-specific-url – Shmuel

+0

沒有。它關於啓動瀏覽器的公共活動,可以從其他應用程序調用。即時通訊尋找明確調用隱私瀏覽器本身的私人活動,當然使用意向URL Schemes –

回答

1

Vulnerable Handling of Intent URL Scheme已經知道很長時間了,大多數流行的瀏覽器(如chrome,opera)已經修復了這個bug。然而,其他的Android瀏覽器仍然有這個漏洞。

我試圖對當前版本的Opera Mobile(v37)進行攻擊,幸好它沒有工作。您必須在較舊的apk上運行它。

如果您有興趣在其他瀏覽器上測試此攻擊,您可以按照以下說法進行操作:All Your Browsers Belong To Us;它在Dolphin瀏覽器和Mercury瀏覽器上展示了這種攻擊。

+0

感謝您的回答,我知道有關攻擊。但我的問題有點不同。即時通訊問我是否可以開始私人活動,那麼爲什麼我不能開始在問題中提供的活動。我想知道如何運行它們。我的意思是如果我可以啓動AdMarvelActivity,那麼爲什麼我不能啓動其他人?!我寫意圖網址錯了嗎?! –

+1

我同意如果可以運行'AdMarvelActivity',則其他人也應該可以運行。這可能是因爲你錯過了一些活動開始必需的附加組件。您可以通過'adb logcat |攔截或記錄所有意圖fgrep -i意圖「,並檢查問題是否與意圖被解僱或接受有關。你想要什麼版本的Opera Mobile?請分享您嘗試使用的apk和Intent網址。 –

+0

adb命令對於監控非常有用。我發現這個問題出現在某些版本的瀏覽器(特別是新的瀏覽器)中,在意圖URL中過濾了這個組件。如果你在代碼中有通知,他們立即在parseURI之後設置intent.setComponent(null)。所以我們不能使用組件調用私人活動。有沒有其他的方式來啓動它們? –

相關問題