API Token Attacks
Last updated
Last updated
Capture API Request: Proxy your API authentication request to Burp Suite.
Forward to Sequencer: Right-click on the request and select the option to send it to the Sequencer.
Analyze Randomness:
Define Token Location: Specify where the token is located in the response.
Start Live Capture: Begin capturing live token data.
Evaluate Results: Look for predictability or weak randomness in generated tokens.
Example: Weakly generated tokens can be susceptible to brute-force attacks, allowing unauthorized access to endpoints like /identity/api/v2/user/dashboard
.
Manual Load of Bad Tokens:
Use Burp Suite’s Manual load option to analyze weakly generated tokens. You can use a weak token example generated from a for reference.
Overview:
JSON Web Tokens (JWTs) are commonly used for API authentication but can have vulnerabilities if misconfigured.
Header: Contains metadata about the token.
Payload: Contains claims or user information.
Signature: Ensures token integrity.
Capturing a Valid JWT: If you capture a valid JWT, it may grant unauthorized access to API endpoints based on the payload information.
JWT_Tool: A tool for automating JWT analysis and scanning for vulnerabilities.
Commands: Use specific commands with JWT_Tool for scanning and analyzing tokens in target applications.
None Algorithm Attack: If the JWT uses "none" as its signing algorithm, attackers can forge tokens by altering the payload, potentially gaining unauthorized access.
JWT Decoding:
Decode parts of JWT for analysis:
Analyze JWT Structure:
A JWT typically has three parts: header, payload, and signature.
Example command for decoding:
JWT Signature Check:
JWT signature uses HMAC with a secret:
Automate with JWT_Tool:
Use JWT_Tool
for automated testing:
The None Algorithm Attack:
If a JWT uses "none" as the algorithm, modify payloads freely
Decode JWTs using to inspect their contents.