Book Image

Mobile Application Penetration Testing

By : Vijay Kumar Velu
Book Image

Mobile Application Penetration Testing

By: Vijay Kumar Velu

Overview of this book

Mobile security has come a long way over the last few years. It has transitioned from "should it be done?" to "it must be done!"Alongside the growing number of devises and applications, there is also a growth in the volume of Personally identifiable information (PII), Financial Data, and much more. This data needs to be secured. This is why Pen-testing is so important to modern application developers. You need to know how to secure user data, and find vulnerabilities and loopholes in your application that might lead to security breaches. This book gives you the necessary skills to security test your mobile applications as a beginner, developer, or security practitioner. You'll start by discovering the internal components of an Android and an iOS application. Moving ahead, you'll understand the inter-process working of these applications. Then you'll set up a test environment for this application using various tools to identify the loopholes and vulnerabilities in the structure of the applications. Finally, after collecting all information about these security loop holes, we'll start securing our applications from these threats.
Table of Contents (15 chapters)
Mobile Application Penetration Testing
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Man-in-the-Middle (MitM) attacks


By default, for every SSL connection, when an Android app connects to a server, it validates the server's certificate and checks whether it has a valid trusted root certificate and also matches the reverse DNS (hostname). By defeating this feature, one can perform an MitM attack.

Since we have all the setup required to perform an MitM attack from Chapter 4, Loading up – Mobile Pentesting Tools, all we need to do now is turn on the proxy and set the right IP and port number in the wireless or APN settings.

When we launch our target app (FourGoats) and submit the username and password, we should be able to see the request in our proxy tool, as shown in the following screenshot:

Now let's see what changes we can do to the app so that we can manipulate a client-side request to the server. If you try to view your profile, you might receive the request shown in the following screenshot:

Once the original request is forwarded, the profile of the test user must be displayed...