Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
MyJWT — A cli for cracking, testing vulnerabilities on Json Web Token(JWT) | Kitploit
Tools/GitHubGitHub/tyki6/myjwt
Password CrackingVulnerability AnalysisWeb SecurityPenetration Testing
GitHubtyki6/myjwt

MyJWT

A cli for cracking, testing vulnerabilities on Json Web Token(JWT)

View Repository
13819171 year agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

MyJWT

mBouamama PyPI BlackArch package PyPI - Python Version PyPI - Download GitHub release (latest by date) Documentation Status Rawsec's CyberSecurity Inventory Code style: black codecov docstr_coverage codebeat badge Updates Known Vulnerabilities

Introduction

This cli is for pentesters, CTF players, or dev.
You can modify your jwt, sign, inject ,etc...
Check Documentation for more information.
If you see problems or enhancement send an issue.I will respond as soon as possible. Enjoy :)

Documentation

Documentation is available at http://myjwt.readthedocs.io

Table of Contents

  • Features
  • Installation
  • Usage
  • Examples
  • Download
  • Contribute
  • ChangeLog

Features

  • copy new jwt to clipboard
  • user Interface (thanks questionary)
  • color output
  • modify jwt (header/Payload)
  • None Vulnerability
  • RSA/HMAC confusion
  • Sign a jwt with key
  • Brute Force to guess key
  • crack jwt with regex to guess key
  • kid injection
  • Jku Bypass
  • X5u Bypass

Installation

To install myjwt, simply use pip:

pip install myjwt

To run mywt from a docker image, run:

docker run -it docker.pkg.github.com/mbouamama/myjwt/myjwt:latest myjwt

# mount volume for wordlist
docker run -v $(pwd)/wordlist:/home/wordlist/  -it docker.pkg.github.com/mbouamama/myjwt/myjwt:latest myjwt
# On Windows
docker run -v %CD%/wordlist:/home/wordlist/  -it docker.pkg.github.com/mbouamama/myjwt/myjwt:latest myjwt

To install myjwt, on git:

git clone https://github.com/mBouamama/MyJWT.git
cd ./MyJWT
pip install -r requirements.txt
python MyJWT/myjwt_cli.py --help

To install myjwt on BlackArch:

pacman -S myjwt

Packaging status

Usage

$ myjwt --help
Usage: myjwt [OPTIONS] JWT

  This cli is for pentesters, CTF players, or dev.
  You can modify your jwt, sign, inject ,etc...
  Full documentation is at http://myjwt.readthedocs.io.
  If you see problems or enhancement send an issue.I will respond as soon as possible.
  Enjoy :)
  All new jwt will be copy to the clipboard.

Options:
  --version                    Show the version and exit.
  --full-payload TEXT          New payload for your jwt.Json format Required.
  -h, --add-header TEXT        Add a new key, value to your jwt header, if key
                               is present old value will be replaced.Format:
                               key=value.

  -p, --add-payload TEXT       Add a new key, value to your jwt payload, if
                               key is present old value will be
                               replaced.Format: key=value.

  --sign TEXT                  Sign Your jwt with key given.
  --verify TEXT                verify your key.
  -none, --none-vulnerability  Check None Alg vulnerability.
  --hmac PATH                  Check RS/HMAC Alg vulnerability.
  --bruteforce PATH            Bruteforce to guess the secret used to sign the
                               token.

  -r, --crack TEXT             regex to iterate all string possibilities to
                               guess the secret used to sign the token.

  --kid TEXT                   Kid Injection sql
  --jku TEXT                   Jku Header to bypass authentication
  --x5u TEXT                   X5u Header to bypass authentication
  --crt TEXT                   For x5cHeader, force crt file
  --key TEXT                   For jku or x5c Header, force private key to
                               your key file

  --file TEXT                  For jku Header and x5u Header, force file name
  --print                      Print Decoded JWT
  -u, --url TEXT               Url to send your jwt.
  -m, --method TEXT            Method use for send request to url.(Default
                               GET).

  -d, --data TEXT              Data send to your url.Format: key=value. if
                               value = MY_JWT value will be replace by new
                               jwt.

  -c, --cookies TEXT           Cookies to send to your url.Format: key=value.
                               if value = MY_JWT value will be replace by new
                               jwt.

  --help                       Show this message and exit.

Modify JWT

OptionTypeExamplehelp
--ful-payloadJSON{"user": "admin"}New payload for your jwt.
-h, --add-headerkey=valueuser=adminAdd a new key, value to your jwt header, if key is present old value will be replaced.
-p, --add-payloadkey=valueuser=adminAdd a new key, value to your jwt payload, if key is present old value will be replaced.

Check Your JWT (HS alg)

OptionTypeExamplehelp
--signtextmysecretkeySign Your jwt with your key
--verifytextmysecretkeyVerify your key.

Exploit

OptionTypeExamplehelp
-none, --none-vulnerabilityNothingCheck None Alg vulnerability.
--hmacPATH./public.pemCheck RS/HMAC Alg vulnerability, and sign your jwt with public key.
--bruteforcePATH./wordlist/big.txtBruteforce to guess th secret used to sign the token. Use txt file with all password stored(1 by line)
--crackREGEX"[a-z]{4}"regex to iterate all string possibilities to guess the secret used to sign the token.
--kidtext"00; echo /etc/.passwd"Kid Injection sql
--jkutextMYPUBLICIPJku Header to bypass authentication, use --file if you want to change your jwks file name, and --key if you want to use your own private pem
--x5utextMYPUBLICIPFor jku or x5c Header, use --file if you want to change your jwks file name, and --key if you want to use your own private pem

Send your jwt

Download Tool