Giter Club home page Giter Club logo

json-web-token-attacker's Introduction

JOSEPH

licence release status travis

JavaScript Object Signing and Encryption Pentesting Helper

JOSEPH is a Burp Suite extension and has been developed as part of a master thesis by Dennis Detering at the Ruhr-University Bochum in cooperation with the Spike Reply GmbH (formerly CSPi GmbH).

Features

  • Recognition and marking
  • JWS/JWE editors
  • (Semi-)Automated attacks
    • Bleichenbacher MMA
    • Key Confusion (aka Algorithm Substitution)
    • Signature Exclusion
  • Base64url en-/decoder
  • Easy extensibility of new attacks

Burp Suite BApp Store

This Burp Suite extension can be downloaded directly from the BApp Store JSON Web Token Attacker

Build

To compile the JOSEPH extension from source, it is necessary to have Apache Maven installed and to run the following command:

$ mvn clean package

To skip the (unit) tests, use the following command:

$ mvn clean package -DskipTests

Troubleshooting

If the Oracle JDK is installed, the used Bouncy Castle JCE provider dependency is not allowed to be loaded from within a newly compiled fat-JAR, as it breaks the needed signature integrity check.

When performing the Bleichenbacher attack without Bouncy Castle being correctly loaded, the following error will occur:

[BleichenbacherPkcs1Info]: Error during key encryption: Cannot find any provider supporting RSA/NONE/NoPadding

If this issue arises, please perform the following step(s):

  • Copy the Bouncy Castle JAR-file bcprov-jdk15on-1.54.jar from JOSEPH's lib folder into the /[PATH_TO_JVM]/jre/lib/ext directory.

  • In some cases, it is necessary to additionally amend the /[PATH_TO_JVM]/jre/lib/security/java.security file and add the following line (preferably directly below the other provider definitions): security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider. The 9 in this case specifies the priority and should be adjusted to fit into existing definitions.

Alternatively, use target/JOSEPH-1.0.2.jar and load the target/lib folder to your Java Environment under Extender/Options.

json-web-token-attacker's People

Contributors

chearix avatar hannah-portswigger avatar jurajsomorovsky avatar merenon avatar mike-smith-ps avatar pajswigger avatar portswiggersupport avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.