JSON web tokens (JWTs) are a standard format for sending cryptographically signed JSON data between systems. They're commonly used in authentication, session management, and access control mechanisms. This means that if an attacker can successfully modify a JWT, they may be able to escalate their own privileges or impersonate other users.
You can use Burp Inspector to view and decode JWTs. You can then use the JWT Editor extension to:
You can follow along with the process below using our JWT authentication bypass via unverified signature lab.
Install the JWT Editor extension. For more information, see Installing extensions from the BApp Store.
Identify a request with a JWT that you want to investigate further. Look for the highlighted requests in Proxy > HTTP history, these are automatically flagged by the JWT Editor extension.
To view the JWT contents, highlight sections of the token in turn. Notice that the content is automatically decoded in the Inspector panel.
To edit a JWT using the JWT Editor extension:
To add a signing key to Burp using the JWT Editor extension:
In the dialog, add the new key: