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

Indonesia Government Data Breach – Hackers Leaked 82 GB of Sensitive Data Online

Hackers have reportedly infiltrated and extracted a vast 82 GB of sensitive data from the Indonesian…

11 hours ago

IBM AIX TCP/IP Vulnerability Lets Attackers Exploit to Launch Denial of Service Attack

IBM has issued a security bulletin warning of two vulnerabilities in its AIX operating system…

13 hours ago

Apache Auth-Bypass Vulnerability Lets Attackers Gain Control Over HugeGraph-Server

The Apache Software Foundation has issued a security alert regarding a critical vulnerability in Apache…

13 hours ago

USA Launched Cyber Attack on Chinese Technology Firms

The Chinese National Internet Emergency Center (CNIE) has revealed two significant cases of cyber espionage…

13 hours ago

Node.js systeminformation Package Vulnerability Exposes Millions of Systems to RCE Attacks

A critical command injection vulnerability in the popular systeminformation npm package has recently been disclosed, exposing millions…

2 days ago

Skuld Malware Using Weaponized Windows Utilities Packages To Deliver Malware

Researchers discovered a malware campaign targeting the npm ecosystem, distributing the Skuld info stealer through…

3 days ago