All Projects → SasanLabs → owasp-zap-jwt-addon

SasanLabs / owasp-zap-jwt-addon

Licence: Apache-2.0 license
OWASP ZAP addon for finding vulnerabilities in JWT Implementations

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to owasp-zap-jwt-addon

Zaproxy
The OWASP ZAP core project
Stars: ✭ 9,078 (+39369.57%)
Mutual labels:  owasp, zaproxy
Blackwidow
A Python based web application scanner to gather OSINT and fuzz for OWASP vulnerabilities on a target website.
Stars: ✭ 887 (+3756.52%)
Mutual labels:  owasp, fuzzer
framboise
Framboise is a fuzzer for in-depth testing of WebAPIs.
Stars: ✭ 21 (-8.7%)
Mutual labels:  fuzzer
OpenXMolar
A MS OpenXML Format Fuzzing Framework
Stars: ✭ 79 (+243.48%)
Mutual labels:  fuzzer
www-project-vulnerable-web-applications-directory
The OWASP Vulnerable Web Applications Directory (VWAD) Project - OWASP Web Site
Stars: ✭ 10 (-56.52%)
Mutual labels:  owasp
nodejssecurity
Documentation for Essential Node.js Security
Stars: ✭ 64 (+178.26%)
Mutual labels:  owasp
aks-baseline-regulated
This is the Azure Kubernetes Service (AKS) baseline cluster for regulated workloads reference implementation as produced by the Microsoft Azure Architecture Center.
Stars: ✭ 73 (+217.39%)
Mutual labels:  owasp
wafbypasser
No description or website provided.
Stars: ✭ 73 (+217.39%)
Mutual labels:  owasp
dotnet-security-unit-tests
A web application that contains several unit tests for the purpose of .NET security
Stars: ✭ 25 (+8.7%)
Mutual labels:  owasp
webdriverio-zap-proxy
Demo - how to easily build security testing for Web App, using Zap and Glue
Stars: ✭ 58 (+152.17%)
Mutual labels:  owasp
fuzvisor
A framework provides an interface to monitor and control fuzzers
Stars: ✭ 31 (+34.78%)
Mutual labels:  fuzzer
aws-firewall-factory
Deploy, update, and stage your WAFs while managing them centrally via FMS.
Stars: ✭ 72 (+213.04%)
Mutual labels:  owasp
afl-pin
run AFL with pintool
Stars: ✭ 64 (+178.26%)
Mutual labels:  fuzzer
dependency-check-plugin
Jenkins plugin for OWASP Dependency-Check. Inspects project components for known vulnerabilities (e.g. CVEs).
Stars: ✭ 107 (+365.22%)
Mutual labels:  owasp
www-project-csrfguard
The aim of this project is to protect Java applications against CSRF attacks with the use of Synchronizer Tokens
Stars: ✭ 43 (+86.96%)
Mutual labels:  owasp
nozaki
HTTP fuzzer engine security oriented
Stars: ✭ 37 (+60.87%)
Mutual labels:  fuzzer
www-project-web-security-testing-guide
The Web Security Testing Guide (WSTG) Project produces the premier cybersecurity testing resource for web application developers and security professionals.
Stars: ✭ 260 (+1030.43%)
Mutual labels:  owasp
bWAPP
bWAPP latest modified for PHP7
Stars: ✭ 30 (+30.43%)
Mutual labels:  owasp
training-application-security
This repository for training application security.
Stars: ✭ 25 (+8.7%)
Mutual labels:  owasp
Software-Component-Verification-Standard
Software Component Verification Standard (SCVS)
Stars: ✭ 82 (+256.52%)
Mutual labels:  owasp

owasp-zap-jwt-addon

License PRs Welcome Java CI with Gradle

This Project contains the JWT Scanner and JWT Fuzzer addon used for finding JWT related vulnerabilities.

Why this addon is needed

With the popularity of JSON Web Tokens (JWTs) there comes the need to secure their use so that they are not misused because of bad configuration, older libraries, or buggy implementations. So the JWT Support add-on is used to find such vulnerabilities and this blog explains on how to use it.

Configuration

As the JWT add-on includes a rule for the Active Scanner as well as Fuzzer functionality, there are configuration details which are specific for the JWT add-on. Under ZAP's Options dialog you will find a JWT section as shown below: JWT

Explanation

Scanner Configuration:

In case the application which you are trying to scan is using RSA or more specifically RS* algorithm then please configure the public certificate TrustStore path and TrustStore password. These fields are used to find certain vulnerabilities related to RS* based JWTs.

The Enable Client Configuration Scan option is used to enable client-side validations like JWT being sent to the browser in an insecure or non-recommended way.

Fuzzer Configuration:

Since JWT is a signed token; fuzzing field values requires resigning the JWT therefore the fuzzer requires an HMac secret key or RSA private key as per the algorithm header field of the JWT. So that the Fuzzer configuration corresponds to the same.

Scanner Vulnerability Coverage

The JWT add-on's scan rule attempts to identified vulnerabilities in both Client/Browser and Server/Library implementations.

For the Client-side it covers most of the vulnerabilities mentioned in the OWASP JWT CheatSheet.

For Server-side it mainly covers following vulnerabilities:

  1. None Algorithm attack
  2. Algorithm Confusion attack
  3. Trusting JWK provided with the Token
  4. Empty JWT
  5. Null Byte Injection attack
  6. Weak JWT secrets

Fuzzer View

JWT Fuzzer view is different from HTTP Fuzzer view as JWT's need to be parsed, then JWT field values can be fuzzed. The following is the Fuzzer view: Fuzzer View

The Signature Operation drop down is used to control the operations on the Signature field of JWT.

  1. No Signature: This value is used to remove the signature component from the newly fuzzed JWT.
  2. Same Signature: This value is used to use the same signature for the newly fuzzed JWT.
  3. New Signature: This value is used to generate new signature for the newly fuzzed JWT.

The Component drop down is used to choose the Header or the Payload components of the JWT.

The Key drop down is used to choose the fields to be fuzzed in the Header or Payload components of the JWT.

Fuzzer View Animation

Fuzzer Animation

The JWT add-on is available in the marketplace and can be installed from within ZAP. For more information please visit JWT Support

Contributing guidelines

Contributing guidelines are same as ZAP.

Contact Us

For any Queries/Bugs or Enhancement please raise an issue in this repository or ask in OWASP ZAP Developer Group. For any other kind of issues please send an email to [email protected]

Technical Blog

JWT addon blog

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].