使用意图URL启动Android浏览器的私人活动
首先,我必须承认,我是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
它。
这是怎么AdMarvelActivity
在AndroidManifest
定义:
<activity ns0:theme="@*ns0:style/Theme.NoTitleBar.Fullscreen" ns0:name="com.admarvel.android.ads.AdMarvelActivity" ns0:process=":helper" ns0:configChanges="keyboard|keyboardHidden|orientation" />
我看到这两个的区别并不是很大。我究竟做错了什么 ?!
Vulnerable Handling of Intent URL Scheme已经知道很长时间了,大多数流行的浏览器(如chrome,opera)已经修复了这个bug。然而,其他的Android浏览器仍然有这个漏洞。
我试图对当前版本的Opera Mobile(v37)进行攻击,幸好它没有工作。您必须在较旧的apk上运行它。
如果您有兴趣在其他浏览器上测试此攻击,您可以按照以下说法进行操作:All Your Browsers Belong To Us;它在Dolphin浏览器和Mercury浏览器上展示了这种攻击。
感谢您的回答,我知道有关攻击。但我的问题有点不同。即时通讯问我是否可以开始私人活动,那么为什么我不能开始在问题中提供的活动。我想知道如何运行它们。我的意思是如果我可以启动AdMarvelActivity,那么为什么我不能启动其他人?!我写意图网址错了吗?! –
我同意如果可以运行'AdMarvelActivity',则其他人也应该可以运行。这可能是因为你错过了一些活动开始必需的附加组件。您可以通过'adb logcat |拦截或记录所有意图fgrep -i意图“,并检查问题是否与意图被解雇或接受有关。你想要什么版本的Opera Mobile?请分享您尝试使用的apk和Intent网址。 –
adb命令对于监控非常有用。我发现这个问题出现在某些版本的浏览器(特别是新的浏览器)中,在意图URL中过滤了这个组件。如果你在代码中有通知,他们立即在parseURI之后设置intent.setComponent(null)。所以我们不能使用组件调用私人活动。有没有其他的方式来启动它们? –
你在找吗? https://stackoverflow.com/questions/3004515/android-sending-an-intent-to-browser-to-open-specific-url – Shmuel
没有。它关于启动浏览器的公共活动,可以从其他应用程序调用。即时通讯寻找明确调用隐私浏览器本身的私人活动,当然使用意向URL Schemes –