Intent Redirection

R3zk0n ยท October 2, 2025

Contents

    Resources

    • https://blog.oversecured.com/Gaining-access-to-arbitrary-Content-Providers/

    • Android Manifest โ€“> search for exported activities (Check SDK and Android version for intent filter exportation)
    • onCreate() โ€“> first thing that runs in the context of the Application, handled by Binder
    • setResult(0, getIntent()) โ€“> vulnerable if we can control Intent

    Example vulnerability

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            RequestCode requestCodeEnum = RequestCode.values()[requestCode];
            LogUtil.getInstance().logI(TAG, "onActivityResult requestCode : " + requestCodeEnum + " + resultCode : " + resultCode + " + data : " + (data != null ? "nonNull" : "null"));
            if (requestCodeEnum == RequestCode.VERIFY) {
                if (resultCode == -1) {
                    startMyProfileWebView(this.mIntentAction, this.mClientId, this.mServiceAccessToken);
                    return;
                }
                setResult(resultCode, this.mIntent);
                finish();
            } else if (requestCodeEnum == RequestCode.MY_PROFILE) {
                setResult(resultCode, data); // EXPLOITABLE
            }
        }
    

    Twitter, Facebook