Categories: Android

Android Application Penetration Testing – Part 5

Android Components

Three of the four component types—activities, services, and broadcast receivers—are activated by an asynchronous message called an intent.

Activating Components

Intents bind individual components to each other at run-time (you can think of them as the messengers that request an action from other components), whether the component belongs to your app or to other.

Broadcast Receiver

Broadcast receivers don’t display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs.

Also read Android Application Penetration Testing – Part 1

System Events

An application can be registered to receive broadcasts occurred by system events such as BOOT COMPLETE, SMS RECEIVED, BATTERY LOW, etc. When an application is registered for an SMS RECEIVED event, its receiver will be invoked every time a new SMS is received.

Custom Broadcasts

Apart from the system-generated events, an application also can generate custom broadcast intents for which we can register a receiver.

More commonly, though, a broadcast receiver is just a “gateway” to other components and is intended to do a very minimal amount of work.

For instance, it might initiate a service to perform some work based on the event.An application may register a receiver for the low battery message for example, and change its behavior based on that information.

Example:

A broadcast receiver “MyBroadCastReceiver” is registered in the AndroidManifest.xml file.Broadcast receivers are generally registered in the following format. The code seems insecure since the receiver is exported.

Also Read Android Application Penetration Testing – Part 2

Services

A service is a component that runs in the background to perform long-running operations or to perform work for remote processes.

A service does not provide a user interface, neither component, such as an activity, can start the service and let it run or bind to it in order to interact with it.

For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity.

The three different types of services:

Scheduled-A service is scheduled when an API such as the Job Scheduler, introduced in Android 5.0 (API level 21), launches the service.

Started– A service is started when an application component (such as an activity) calls start Service ().

Bound– A service is bound when an application component binds to it by calling bind Service ().

Service in the manifest Declare all services in your application’s manifest file, just as for activities and other components.

<Manifest … >

<application … >
<service android: name=”.Example Service” />

</application>
</manifest>

        Services

Activity

To be simple an activity represents a single screen with a user interface. For Example, one activity for Login and another activity after login has been successful.

Activity serves as the entry point for a user’s interaction with an app and is also central to how a user navigates within an app or between apps.

Also Read Android Application Penetration Testing – Part 3

The Activity class provides a number of callbacks that allow the activity to know that a state has changed: that the system is creating, stopping, or resuming an activity, or destroying the process in which the activity resides.

                  Example of activities

Content Provider

Content Provider component supplies data from one application to others on request.

You can store the data in the file system, a Sq-Lite database, on the web, or any other persistent storage location your app can access.

Through the content provider, other apps can query or even modify the data (if the content provider allows it).

Content Provider is useful in cases when an app wants to share data with another app.

Also Read Android Application Penetration Testing – Part 4

Gurubaran

Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

View Comments

Recent Posts

Critical Vulnerability in Ubiquiti UniFi Protect Camera Allows Remote Code Execution by Attackers

Critical security vulnerabilities in Ubiquiti’s UniFi Protect surveillance ecosystem-one rated the maximum severity score of…

7 hours ago

IXON VPN Client Vulnerability Allows Privilege Escalation for Attackers

A critical security vulnerability in IXON’s widely used VPN client has exposed Windows, Linux, and…

8 hours ago

Cisco IOS Software SISF Vulnerability Could Enable Attackers to Launch DoS Attacks

Cisco has released security updates addressing a critical vulnerability in the Switch Integrated Security Features…

8 hours ago

Seamless AI Communication: Microsoft Azure Adopts Google’s A2A Protocol

Microsoft has announced its support for the Agent2Agent (A2A) protocol, an open standard developed in…

8 hours ago

Radware Cloud Web App Firewall Flaw Allows Attackers to Bypass Security Filters

Security researchers have uncovered two critical vulnerabilities in Radware’s Cloud Web Application Firewall (WAF) that…

8 hours ago

ESET Reveals How to Spot Fake Calls Demanding Payment for ‘Missed Jury Duty’

ESET, a leading cybersecurity firm, has shed light on one particularly insidious scheme: fake calls…

8 hours ago