hunt-api-misconfig

Detect API misconfigurations including mass assignment, JWT flaws, prototype pollution, CORS, and OData bypasses.

Updated May 29, 2026
One-click install
npx skills add https://github.com/hhjkjkjk/Claude-skills --skill hunt-api-misconfig-hhjkjkjk
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hunt-api-misconfig
Source: https://github.com/hhjkjkjk/Claude-skills/tree/main/skills/hunt-api-misconfig
Command: npx skills add https://github.com/hhjkjkjk/Claude-skills --skill hunt-api-misconfig-hhjkjkjk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? APIs frequently ship with misconfigurations—mass assignment, weak JWT validation, permissive CORS, exposed Swagger specs, and OData query-layer bypasses—that traditional SQLi-focused WAFs and scanners miss. This Skill gives security testers concrete payloads, detection heuristics, and real disclosed cases to find these flaws during authorized assessments. ## Core Features & Use Cases - Mass Assignment & JWT Attacks: Test profile/account endpoints with privileged fields (is_admin, role, verified) and attack JWTs via alg=none, RS256-to-HS256 confusion, weak HMAC bruteforce, kid path traversal, and JWK injection. - OData & WAF Bypass Techniques: Exploit $filter/$orderby/$batch parsing discrepancies, encoded operators, and $expand navigation-property IDOR against SharePoint, Dynamics 365, SAP, and ASP.NET OData services. - Swagger/OpenAPI Spec Exploitation: Discover exposed /swagger and /openapi.json endpoints, extract hidden routes and schemas for IDOR and mass-assignment payload construction, and test configUrl takeover. - Use Case: During a bug bounty engagement against an ASP.NET Core API, probe /swagger/v1/swagger.json, extract the UserUpdateDto schema, then PATCH /users/me with role=admin to demonstrate privilege escalation. ## Quick Start Ask the AI to test a target API endpoint for mass assignment, JWT algorithm confusion, CORS misconfiguration, and exposed Swagger documentation using this skill.

Frequently Asked Questions about hunt-api-misconfig

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test an API for mass assignment vulnerabilities?▼

Send privileged fields like is_admin, role, verified, or tenant_id in requests to profile, account, and reset endpoints. If the server blindly binds the request body to the model (e.g., User.update(req.body)), the extra fields are applied, enabling privilege escalation.

How to exploit JWT algorithm confusion attacks?▼

Retrieve the server's public key from /.well-known/jwks.json, then sign a forged token using that public key as an HMAC secret with HS256. Servers that accept both RS256 and HS256 may verify the forged token using the public key as the HMAC secret.

What is OData $filter WAF bypass and how does it work?▼

OData operators like startswith, substringof, and tolower look unlike SQL keywords, so SQLi-signature WAFs fail open. Attackers extract data character-by-character via boolean oracles, or use $batch multipart requests and encoded %24filter parameters that WAFs do not parse.

How do I find exposed Swagger or OpenAPI documentation?▼

Probe default paths such as /swagger/v1/swagger.json, /openapi.json, /v3/api-docs, /docs, and /redoc across subdomains. A 200 response with JSON containing swagger or openapi keys exposes the full endpoint map, schemas, and hidden internal routes.

When is a permissive CORS header actually exploitable?▼

A CORS header alone is informational. It is exploitable when Access-Control-Allow-Origin reflects an attacker origin together with Access-Control-Allow-Credentials: true, letting a malicious site read credentialed API responses. Demonstrate actual cross-origin data read before reporting.

Can prototype pollution lead to remote code execution?▼

Yes, when __proto__ or constructor.prototype injection reaches a sink in Node.js. Polluted properties in libraries like lodash merge can reach gadgets such as child_process.spawn, producing RCE on the server, or XSS when the pollution occurs in browser-side code.