Socket
Socket
Sign inDemoInstall

distributed-jwt-cracker

Package Overview
Dependencies
112
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    distributed-jwt-cracker

An experimental distributed JWT token cracker built using Node.js and ZeroMQ


Version published
Weekly downloads
10
increased by150%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

distributed-jwt-cracker

An experimental distributed JWT token cracker built using Node.js and ZeroMQ. It can be used to discover the password (or "secret") of an unencrypted JWT token using a HS256 signature.

npm version Build Status codecov.io

Install

Through NPM:

npm i -g distributed-jwt-cracker

Requires ZeroMq libraries to be already installed in your machine.

Usage

Server

To start a new server:

jwt-cracker-server <jwtToken> [options]

The following options are available:

optiondescriptiontypedefault
-p, --portThe port used to accept incoming connectionsnumber9900
-P, --pubPortThe port used to publish signals to all the workersnumber9901
-a, --alphabetThe alphabet used to generate the passwordsstring"abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789"
-b, --batchSizeThe number of attempts assigned to every client in a batchnumber1000000
-s, --startThe index from where to start the searchnumber0

Example, using the example JWT.io token over a simple alphabet:

jwt-cracker-server eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ -a=abcdefghijklmnopqrstuwxyz

Client

To start a new client:

jwt-cracker-client [options]

The following options are available:

optiondescriptiontypedefault
-h, --hostThe hostname of the serverstring"localhost"
-p, --portThe port used to connect to the batch servernumber9900
-P, --pubPortThe port used to subscribe to broadcast signals (e.g. exit)number9901

Example:

jwt-cracker-client --host=localhost --port=9900 --pubPort=9901

The making of

This project has been thoroughly discussed in two articles published on RisingStack community blog:

ZeroMQ & Node.js Tutorial - Cracking JWT Tokens

Contributing

Everyone is very welcome to contribute to this project. You can contribute just by submitting bugs or suggesting improvements by opening an issue on GitHub.

License

Licensed under MIT License. © Luciano Mammino.

Keywords

FAQs

Last updated on 09 Jun 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc