Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modile jwt_tool to check for jwts with certain CVE issues? #1443

Open
random-robbie opened this issue Jun 6, 2024 · 2 comments
Open

Modile jwt_tool to check for jwts with certain CVE issues? #1443

random-robbie opened this issue Jun 6, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@random-robbie
Copy link

Description
Which feature would you like to see added to BBOT? What are its use cases?

https://github.com/ticarpi/jwt_tool

it would be cool to see if you could implement this module to scan for

(CVE-2015-2951) The alg=none signature-bypass vulnerability
(CVE-2016-10555) The RS/HS256 public key mismatch vulnerability
(CVE-2018-0114) Key injection vulnerability
(CVE-2019-20933/CVE-2020-28637) Blank password vulnerability
(CVE-2020-28042) Null signature vulnerability

currently the system can extract JWT tokens so if it was to run something like

python3 jwt_tool.py eyJxxxx -t https://www.example.com it could then see if the JWT had anything fun inside or was vuln to an attack

@random-robbie random-robbie added the enhancement New feature or request label Jun 6, 2024
@domwhewell-sage
Copy link
Contributor

I like this idea, It's been a while since I've used jwt_tool but I'm not sure how much is possible offline...
In order to use the -M pb option in jwt_tool the parameters and endpoint would have to be known which might not necessarily be the case.

That being said even offline we can decode the JWT and check if it has any sensitive information inside and I would also like it to flag up tokens with a higher priority if they haven't expired

@TheTechromancer
Copy link
Collaborator

not sure how much is possible offline...

This is the main issue. In order to test most of these CVEs, you'd need to have:

  1. A legitimate JWT that you got from logging in (not just visiting the page)
  2. A way to send each of the crafted JWTs and analyze the server's responses to see whether it's vulnerable

Both of these are difficult to automate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants