SSL Pinning and Root Detection: Flutter Android & iOS

Priyanshu Manash
3 min readNov 18, 2024

When testing mobile applications, especially in fintech, advanced security measures like SSL Pinning and Root Detection can hinder dynamic analysis. Testers may need to bypass these features for legitimate purposes, such as penetration testing or debugging. In this article, we’ll delve into what these features are, why they exist, and how to disable them in Flutter apps for both Android and iOS.

Secure Sockets Layers

Understanding the Concepts

1. SSL Pinning

  • What It Does: SSL Pinning ensures that the app communicates only with a trusted server by verifying a specific certificate. Even if someone intercepts the traffic, the app will reject untrusted certificates.
  • Why Disable: During testing, tools like Burp Suite or Charles Proxy use their certificates to inspect app traffic. SSL pinning blocks these tools.

2. Root/Jailbreak Detection

  • What It Does: Detects if the device is rooted (Android) or jailbroken (iOS). These devices are considered insecure, as they allow unauthorized access to system-level functions, increasing the attack surface.
  • Why Disable: Testers may use rooted/jailbroken devices to simulate attacks or bypass certain restrictions during testing.

Create an account to read the full story.

Or, continue in mobile web

Already have an account? Sign in

No responses yet

What are your thoughts?

Recommended from Medium

Lists

See more recommendations