Skip to main content

Posts

Bypassing SSL Pinning on Android 15: A Step-by-Step Guide using Frida and Magisk

  Penetration testing on Android has hit a wall. If you are targeting Android 14 or 15, you have likely noticed that the traditional method of pushing your Burp Suite certificate to   /system/etc/security/cacerts   no longer works. Even with root access, the filesystem is read-only, and the move of certificate stores to APEX modules ( com.android.conscrypt ) has rendered old scripts obsolete. Furthermore, modern applications use OkHttp3 certificate pinning and aggressive RASP (Runtime Application Self-Protection) mechanisms that standard "universal" scripts fail to bypass. This guide outlines the architectural changes in Android 15 and provides a rigorous, code-centric solution to bypass SSL pinning using Frida, Python, and Magisk (Zygisk). The Architecture: Why Interception Fails on Android 15 To fix the problem, we must understand the three layers of protection preventing traffic interception: Immutable System Partition (APEX Modules):  Prior to Android 14, root us...

Preventing BOLA in NestJS: Moving from Simple RBAC to Attribute-Based Access Control (CASL)

  A common misconception in backend development is treating Authorization as a boolean gate: "Is this user an Admin?" If yes, let them in. If no, block them. In NestJS, we often slap a generic  @Roles('user')  decorator on a route and consider the job done. This creates a critical vulnerability:  Broken Object Level Authorization (BOLA) , also known as IDOR. If you have an endpoint  GET /invoices/:id , and your  @Roles('user')  guard only checks if the requester is logged in, User A can change the ID in the URL to view User B’s invoice. The Guard passes because User A is indeed a "user." The application fails because it ignores  ownership . To solve this, we must migrate from coarse-grained Role-Based Access Control (RBAC) to fine-grained Attribute-Based Access Control (ABAC). We will implement this using  CASL  to centralize authorization logic and enforce ownership checks strictly. The Root Cause: Why RBAC Fails BOLA RBAC answers the q...