From 2ecb9d9e90d61d1594f1c9a976372991a99e70fb Mon Sep 17 00:00:00 2001 From: d4d Date: Thu, 4 Apr 2024 10:41:21 +0100 Subject: [PATCH] ## [1.0.2] - 2024-04-04 ### Changed - Code refactoring Signed-off-by: d4d --- CHANGELOG.md | 14 +++++++ LICENSE.md | 2 +- README.md | 6 +-- build.gradle | 2 +- ...ension.java => SignSaboteurExtension.java} | 14 +++---- .../burp/config/BurpConfigPersistence.java | 2 +- .../burp/config/BurpKeysModelPersistence.java | 12 ++++-- src/main/java/burp/config/KeysModel.java | 2 +- .../java/burp/config/KeysModelListener.java | 2 +- src/main/java/burp/config/ProxyConfig.java | 2 +- src/main/java/burp/config/SignerConfig.java | 4 +- .../java/burp/proxy/AnnotationsModifier.java | 2 +- .../burp/scanner/BrokenSecretKeyIssue.java | 5 +-- .../java/burp/scanner/ScannerHandler.java | 14 +++---- .../java/burp/scanner/ScannerPresenter.java | 8 ++-- .../itsdangerous/crypto/Signers.java | 5 --- .../d4d/sessionless/presenter/Presenter.java | 4 -- .../PercentageBasedColumnWidthTable.java | 2 +- .../RowHeightDecoratingTableCellRenderer.java | 2 +- ...BackgroundDecoratingTableCellRenderer.java | 2 +- .../forms/EditorTab.form | 2 +- .../forms/EditorTab.java | 18 ++++---- .../forms/ExtensionTab.form | 6 +-- .../forms/ExtensionTab.java | 6 +-- .../forms/KeysTableColumns.java | 4 +- .../forms/KeysTableModel.java | 4 +- .../forms/MessageDialogFactory.java | 4 +- .../forms/RequestEditorView.java | 10 ++--- .../forms/ResponseEditorView.java | 10 ++--- .../forms/SettingsView.form | 23 +++++++++-- .../forms/SettingsView.java | 9 +++- .../forms/WordlistView.form | 16 ++++++-- .../forms/WordlistView.java | 16 ++++---- .../forms/dialog/AbstractDialog.java | 4 +- .../forms/dialog/AttackDialog.form | 2 +- .../forms/dialog/AttackDialog.java | 15 ++++--- .../forms/dialog/BruteForceAttackDialog.form | 2 +- .../forms/dialog/BruteForceAttackDialog.java | 16 ++++---- .../forms/dialog/KeyDialog.java | 10 ++--- .../forms/dialog/NewKeyDialog.form | 2 +- .../forms/dialog/NewKeyDialog.java | 22 +++++----- .../forms/dialog/NewWordDialog.form | 2 +- .../forms/dialog/NewWordDialog.java | 4 +- .../forms/dialog/SignDialog.form | 2 +- .../forms/dialog/SignDialog.java | 12 +++--- .../forms/utils/FormUtils.java | 2 +- .../FontMetricsClearingCodeArea.java | 2 +- .../HexCodeAreaCommandHandler.java | 10 ++--- .../hexcodearea/HexCodeAreaFactory.java | 4 +- .../itsdangerous/Algorithms.java | 2 +- .../itsdangerous/Attack.java | 2 +- .../itsdangerous/BadPayloadException.java | 2 +- .../itsdangerous/BadSignatureException.java | 2 +- .../itsdangerous/BruteForce.java | 12 +++--- .../itsdangerous/Derivation.java | 2 +- .../itsdangerous/DerivationException.java | 2 +- .../itsdangerous/MessageDerivation.java | 2 +- .../itsdangerous/MessageDigestAlgorithm.java | 2 +- .../crypto/DangerousTokenSigner.java | 8 ++-- .../crypto/DjangoTokenSigner.java | 12 +++--- .../crypto/ExpressTokenSigner.java | 6 +-- .../crypto/JSONWebSignatureTokenSigner.java | 12 +++--- .../crypto/OauthProxyTokenSigner.java | 8 ++-- .../itsdangerous/crypto/RubyTokenSigner.java | 12 +++--- .../itsdangerous/crypto/Signers.java | 5 +++ .../itsdangerous/crypto/TokenSigner.java | 8 ++-- .../crypto/TornadoTokenSigner.java | 8 ++-- .../model/DangerousSignedToken.java | 14 +++---- .../itsdangerous/model/DjangoSignedToken.java | 12 +++--- .../model/ExpressSignedToken.java | 8 ++-- .../itsdangerous/model/JSONWebSignature.java | 4 +- .../model/MutableSignedToken.java | 2 +- .../model/OauthProxySignedToken.java | 8 ++-- .../itsdangerous/model/RubySignedToken.java | 8 ++-- .../itsdangerous/model/SignedToken.java | 6 +-- .../model/SignedTokenObjectFinder.java | 41 ++++++++++++++++--- .../model/TornadoSignedToken.java | 12 +++--- .../model/UnknownSignedToken.java | 14 +++---- .../keys/Key.java | 2 +- .../keys/SecretKey.java | 10 ++--- .../presenter/EditorModel.java | 6 +-- .../presenter/EditorPresenter.java | 22 +++++----- .../presenter/KeyPresenter.java | 20 +++++---- .../d4d/signsaboteur/presenter/Presenter.java | 4 ++ .../presenter/PresenterStore.java | 2 +- .../rsta/CustomTokenColors.java | 2 +- .../rsta/CustomizedRSyntaxTextArea.java | 6 +-- .../rsta/DarkModeDetector.java | 2 +- .../rsta/RstaFactory.java | 16 ++++---- .../rsta/token/SignedTokenMaker.java | 2 +- .../rsta/token/SignedTokenizerConstants.java | 2 +- .../utils/Base62.java | 2 +- .../utils/ClaimsUtils.java | 10 ++--- .../utils/DocumentAdapter.java | 2 +- .../utils/ErrorLoggingActionListener.java | 2 +- .../ErrorLoggingActionListenerFactory.java | 2 +- .../utils/FontProvider.java | 2 +- .../utils/GsonHelper.java | 2 +- .../utils/HexUtils.java | 2 +- .../utils/MaxLengthStringComboBoxModel.java | 2 +- .../utils/TestCookie.java | 2 +- .../utils/Utils.java | 18 ++++++-- src/main/resources/strings.properties | 3 ++ src/test/java/BruteForceTest.java | 12 +++--- src/test/java/ClaimsTest.java | 12 +++--- src/test/java/CompressTest.java | 6 +-- src/test/java/DjangoTest.java | 16 ++++---- src/test/java/ExpressSignedCookieTest.java | 16 ++++---- src/test/java/FlaskDangerousTest.java | 4 +- src/test/java/JSONWebSignatureTest.java | 36 +++++++++++++--- src/test/java/KeyPersistenceStoreTest.java | 14 +++---- src/test/java/OAuth2Test.java | 8 ++-- src/test/java/RubySignedCookieTest.java | 8 ++-- src/test/java/SignUnsignTest.java | 14 +++---- src/test/java/TimestampTest.java | 2 +- src/test/java/TornadoTest.java | 16 ++++---- src/test/java/UnknownSignedTokenTest.java | 14 +++---- 117 files changed, 510 insertions(+), 394 deletions(-) rename src/main/java/burp/{SessionlessExtension.java => SignSaboteurExtension.java} (91%) delete mode 100644 src/main/java/one/d4d/sessionless/itsdangerous/crypto/Signers.java delete mode 100644 src/main/java/one/d4d/sessionless/presenter/Presenter.java rename src/main/java/one/d4d/{sessionless => signsaboteur}/PercentageBasedColumnWidthTable.java (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/RowHeightDecoratingTableCellRenderer.java (96%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/EditorTab.form (99%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/EditorTab.java (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/ExtensionTab.form (88%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/ExtensionTab.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/KeysTableColumns.java (93%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/KeysTableModel.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/MessageDialogFactory.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/RequestEditorView.java (89%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/ResponseEditorView.java (91%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/SettingsView.form (91%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/SettingsView.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/WordlistView.form (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/WordlistView.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/AbstractDialog.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/AttackDialog.form (99%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/AttackDialog.java (93%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/BruteForceAttackDialog.form (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/BruteForceAttackDialog.java (89%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/KeyDialog.java (88%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/NewKeyDialog.form (99%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/NewKeyDialog.java (91%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/NewWordDialog.form (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/NewWordDialog.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/SignDialog.form (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/dialog/SignDialog.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/forms/utils/FormUtils.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/hexcodearea/FontMetricsClearingCodeArea.java (97%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/hexcodearea/HexCodeAreaCommandHandler.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/hexcodearea/HexCodeAreaFactory.java (91%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/Algorithms.java (91%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/Attack.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/BadPayloadException.java (75%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/BadSignatureException.java (76%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/BruteForce.java (93%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/Derivation.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/DerivationException.java (75%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/MessageDerivation.java (89%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/MessageDigestAlgorithm.java (93%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/DangerousTokenSigner.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/DjangoTokenSigner.java (72%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/ExpressTokenSigner.java (93%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/JSONWebSignatureTokenSigner.java (65%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/OauthProxyTokenSigner.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/RubyTokenSigner.java (80%) create mode 100644 src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/Signers.java rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/TokenSigner.java (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/crypto/TornadoTokenSigner.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/DangerousSignedToken.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/DjangoSignedToken.java (78%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/ExpressSignedToken.java (88%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/JSONWebSignature.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/MutableSignedToken.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/OauthProxySignedToken.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/RubySignedToken.java (74%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/SignedToken.java (85%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/SignedTokenObjectFinder.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/TornadoSignedToken.java (88%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/itsdangerous/model/UnknownSignedToken.java (73%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/keys/Key.java (56%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/keys/SecretKey.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/presenter/EditorModel.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/presenter/EditorPresenter.java (96%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/presenter/KeyPresenter.java (92%) create mode 100644 src/main/java/one/d4d/signsaboteur/presenter/Presenter.java rename src/main/java/one/d4d/{sessionless => signsaboteur}/presenter/PresenterStore.java (89%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/CustomTokenColors.java (96%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/CustomizedRSyntaxTextArea.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/DarkModeDetector.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/RstaFactory.java (85%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/token/SignedTokenMaker.java (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/rsta/token/SignedTokenizerConstants.java (77%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/Base62.java (99%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/ClaimsUtils.java (96%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/DocumentAdapter.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/ErrorLoggingActionListener.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/ErrorLoggingActionListenerFactory.java (92%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/FontProvider.java (90%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/GsonHelper.java (97%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/HexUtils.java (98%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/MaxLengthStringComboBoxModel.java (94%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/TestCookie.java (95%) rename src/main/java/one/d4d/{sessionless => signsaboteur}/utils/Utils.java (96%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bc9664..625c139 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [1.0.2] - 2024-04-04 + +### Changed + +- Code refactoring + +## [1.0.1] - 2024-04-03 + +### Changed + +- Default Secret Keys now available at Wordlist View +- The com.nimbusds.jwt SignedJWT parser added to the finder logic. _Note_ RSA and ECDSA not supported by the extension yet + + ## [1.0.0] - 2024-03-27 ### Changed diff --git a/LICENSE.md b/LICENSE.md index 93fb2b3..be2a8c7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -220,6 +220,6 @@ Copyright 2012-2023, Fraser Winterborn and Dolph Flynn Licensed under Apache-2.0 as above A class from: https://github.com/librespot-org/librespot-java -Included in one/d4d/sessionless/utils/Base62.java +Included in one/d4d/signsaboteur/utils/Base62.java Copyright 2018-2021, devgianlu Licensed under Apache-2.0 as above \ No newline at end of file diff --git a/README.md b/README.md index 03910c9..0ff2437 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # SignSaboteur SignSaboteur is a Burp Suite extension for editing, signing, verifying, and attacking signed tokens. -It supports different types of tokens: [Django TimestampSigner](https://docs.djangoproject.com/en/5.0/topics/signing/#verifying-timestamped-values), [ItsDangerous Signer](https://itsdangerous.palletsprojects.com/en/2.1.x/signer/), [Express cookie-session middleware](https://expressjs.com/en/resources/middleware/cookie-session.html), [OAuth2 Proxy](https://github.com/oauth2-proxy/oauth2-proxy), [Tornado’s signed cookies](https://www.tornadoweb.org/en/stable/guide/security.html), [Ruby Rails Signed cookies](https://api.rubyonrails.org/classes/ActiveSupport/MessageVerifier.html) +It supports different types of tokens: [Django TimestampSigner](https://docs.djangoproject.com/en/5.0/topics/signing/#verifying-timestamped-values), [ItsDangerous Signer](https://itsdangerous.palletsprojects.com/en/2.1.x/signer/), [Express cookie-session middleware](https://expressjs.com/en/resources/middleware/cookie-session.html), [OAuth2 Proxy](https://github.com/oauth2-proxy/oauth2-proxy), [Tornado’s signed cookies](https://www.tornadoweb.org/en/stable/guide/security.html), [Ruby Rails Signed cookies](https://api.rubyonrails.org/classes/ActiveSupport/MessageVerifier.html), [Nimbus JOSE + JWT](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/) and Unknown signed string. It provides automatic detection and in-line editing of token within HTTP requests/responses and WebSocket messages, @@ -14,10 +14,10 @@ found [here](https://github.com/blackberry/jwt-editor) and [here](https://github * Ensure that Java JDK 17 or newer is installed * From root of project, run the command `./gradlew jar` -* This should place the JAR file `sign-saboteur-1.0.0.jar` within the `build/libs` directory +* This should place the JAR file `sign-saboteur-1.0.2.jar` within the `build/libs` directory * This can be loaded into Burp by navigating to the `Extensions` tab, `Installed` sub-tab, clicking `Add` and loading the JAR file -* This BApp is using the newer Montoya API so it's best to use the latest version of Burp (try the earlier adopter +* This BApp is using the newer Montoya API, so it's best to use the latest version of Burp (try the earlier adopter channel if there are issues with the latest stable release) ## Wordlist View diff --git a/build.gradle b/build.gradle index 379688a..fba5cc3 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = 'one.d4d' -version = '1.0.0' +version = '1.0.2' description = 'sign-saboteur' repositories { diff --git a/src/main/java/burp/SessionlessExtension.java b/src/main/java/burp/SignSaboteurExtension.java similarity index 91% rename from src/main/java/burp/SessionlessExtension.java rename to src/main/java/burp/SignSaboteurExtension.java index 92f093b..9913eac 100644 --- a/src/main/java/burp/SessionlessExtension.java +++ b/src/main/java/burp/SignSaboteurExtension.java @@ -11,19 +11,19 @@ import burp.proxy.ProxyHttpMessageHandler; import burp.proxy.ProxyWsMessageHandler; import burp.scanner.ScannerHandler; -import one.d4d.sessionless.forms.ExtensionTab; -import one.d4d.sessionless.forms.RequestEditorView; -import one.d4d.sessionless.forms.ResponseEditorView; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.rsta.RstaFactory; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.forms.ExtensionTab; +import one.d4d.signsaboteur.forms.RequestEditorView; +import one.d4d.signsaboteur.forms.ResponseEditorView; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.rsta.RstaFactory; +import one.d4d.signsaboteur.utils.Utils; import java.awt.*; import static burp.api.montoya.core.BurpSuiteEdition.PROFESSIONAL; import static burp.api.montoya.ui.editor.extension.EditorMode.READ_ONLY; -public class SessionlessExtension implements BurpExtension { +public class SignSaboteurExtension implements BurpExtension { @Override public void initialize(MontoyaApi api) { diff --git a/src/main/java/burp/config/BurpConfigPersistence.java b/src/main/java/burp/config/BurpConfigPersistence.java index ea44df4..6cd3518 100644 --- a/src/main/java/burp/config/BurpConfigPersistence.java +++ b/src/main/java/burp/config/BurpConfigPersistence.java @@ -5,7 +5,7 @@ import com.google.gson.GsonBuilder; public class BurpConfigPersistence { - static final String BURP_SETTINGS_NAME = "one.d4d.sessionless.settings"; + static final String BURP_SETTINGS_NAME = "one.d4d.signsaboteur.settings"; private final Preferences preferences; public BurpConfigPersistence(Preferences preferences) { diff --git a/src/main/java/burp/config/BurpKeysModelPersistence.java b/src/main/java/burp/config/BurpKeysModelPersistence.java index 6ddf033..a2023f0 100644 --- a/src/main/java/burp/config/BurpKeysModelPersistence.java +++ b/src/main/java/burp/config/BurpKeysModelPersistence.java @@ -2,14 +2,16 @@ import burp.api.montoya.persistence.Preferences; import com.google.gson.Gson; -import one.d4d.sessionless.utils.GsonHelper; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.GsonHelper; +import one.d4d.signsaboteur.utils.Utils; import java.io.File; +import java.util.List; import java.util.Set; public class BurpKeysModelPersistence { - static final String BURP_SETTINGS_NAME = "one.d4d.sessionless.keys"; + static final String BURP_SETTINGS_NAME = "one.d4d.signsaboteur.keys"; private final Preferences preferences; public BurpKeysModelPersistence(Preferences preferences) { @@ -23,6 +25,7 @@ public KeysModel loadOrCreateNew() { KeysModel model = new KeysModel(); model.setSalts(loadDefaultSalts()); model.setSecrets(loadDefaultSecrets()); + loadDefaultKeys().forEach(model::addKey); return model; } @@ -62,5 +65,8 @@ private Set loadDefaultSecrets() { private Set loadDefaultSalts() { return Utils.readResourceForClass("/salts", this.getClass()); } + private List loadDefaultKeys() { + return Utils.readDefaultSecretKeys("/keys", this.getClass()); + } } diff --git a/src/main/java/burp/config/KeysModel.java b/src/main/java/burp/config/KeysModel.java index df1c80f..da01a40 100644 --- a/src/main/java/burp/config/KeysModel.java +++ b/src/main/java/burp/config/KeysModel.java @@ -1,7 +1,7 @@ package burp.config; import com.google.gson.annotations.Expose; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.keys.SecretKey; import java.util.*; import java.util.stream.IntStream; diff --git a/src/main/java/burp/config/KeysModelListener.java b/src/main/java/burp/config/KeysModelListener.java index c304c18..75ee1cd 100644 --- a/src/main/java/burp/config/KeysModelListener.java +++ b/src/main/java/burp/config/KeysModelListener.java @@ -1,6 +1,6 @@ package burp.config; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.keys.SecretKey; public interface KeysModelListener { void notifyKeyInserted(SecretKey key); diff --git a/src/main/java/burp/config/ProxyConfig.java b/src/main/java/burp/config/ProxyConfig.java index 332d037..4662ba3 100644 --- a/src/main/java/burp/config/ProxyConfig.java +++ b/src/main/java/burp/config/ProxyConfig.java @@ -2,7 +2,7 @@ import burp.proxy.HighlightColor; import com.google.gson.annotations.Expose; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import static burp.proxy.HighlightColor.GREEN; diff --git a/src/main/java/burp/config/SignerConfig.java b/src/main/java/burp/config/SignerConfig.java index e24d30d..f895922 100644 --- a/src/main/java/burp/config/SignerConfig.java +++ b/src/main/java/burp/config/SignerConfig.java @@ -1,7 +1,7 @@ package burp.config; import com.google.gson.annotations.Expose; -import one.d4d.sessionless.itsdangerous.crypto.Signers; +import one.d4d.signsaboteur.itsdangerous.crypto.Signers; import java.util.EnumSet; import java.util.Set; @@ -12,7 +12,7 @@ public class SignerConfig { private Set enabled; public SignerConfig() { - EnumSet disabled = EnumSet.of(Signers.OAUTH, Signers.UNKNOWN); + EnumSet disabled = EnumSet.of(Signers.OAUTH, Signers.NIMBUSDS, Signers.UNKNOWN); this.enabled = EnumSet.complementOf(disabled); } diff --git a/src/main/java/burp/proxy/AnnotationsModifier.java b/src/main/java/burp/proxy/AnnotationsModifier.java index eb24bb0..71b918b 100644 --- a/src/main/java/burp/proxy/AnnotationsModifier.java +++ b/src/main/java/burp/proxy/AnnotationsModifier.java @@ -7,7 +7,7 @@ import burp.api.montoya.utilities.ByteUtils; import burp.config.ProxyConfig; import burp.config.SignerConfig; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; import java.util.List; diff --git a/src/main/java/burp/scanner/BrokenSecretKeyIssue.java b/src/main/java/burp/scanner/BrokenSecretKeyIssue.java index b610e16..cd9493a 100644 --- a/src/main/java/burp/scanner/BrokenSecretKeyIssue.java +++ b/src/main/java/burp/scanner/BrokenSecretKeyIssue.java @@ -7,9 +7,8 @@ import burp.api.montoya.scanner.audit.issues.AuditIssueConfidence; import burp.api.montoya.scanner.audit.issues.AuditIssueDefinition; import burp.api.montoya.scanner.audit.issues.AuditIssueSeverity; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import java.util.Collections; import java.util.List; diff --git a/src/main/java/burp/scanner/ScannerHandler.java b/src/main/java/burp/scanner/ScannerHandler.java index 7b55345..4234e48 100644 --- a/src/main/java/burp/scanner/ScannerHandler.java +++ b/src/main/java/burp/scanner/ScannerHandler.java @@ -13,13 +13,13 @@ import burp.api.montoya.scanner.audit.issues.AuditIssueConfidence; import burp.api.montoya.scanner.audit.issues.AuditIssueSeverity; import burp.config.SignerConfig; -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.model.MutableSignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.model.MutableSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.utils.Utils; import java.util.*; diff --git a/src/main/java/burp/scanner/ScannerPresenter.java b/src/main/java/burp/scanner/ScannerPresenter.java index e957435..b00fdea 100644 --- a/src/main/java/burp/scanner/ScannerPresenter.java +++ b/src/main/java/burp/scanner/ScannerPresenter.java @@ -1,9 +1,9 @@ package burp.scanner; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.presenter.KeyPresenter; -import one.d4d.sessionless.presenter.Presenter; -import one.d4d.sessionless.presenter.PresenterStore; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.presenter.KeyPresenter; +import one.d4d.signsaboteur.presenter.Presenter; +import one.d4d.signsaboteur.presenter.PresenterStore; import java.util.List; import java.util.Set; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/Signers.java b/src/main/java/one/d4d/sessionless/itsdangerous/crypto/Signers.java deleted file mode 100644 index 9b49ffa..0000000 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/Signers.java +++ /dev/null @@ -1,5 +0,0 @@ -package one.d4d.sessionless.itsdangerous.crypto; - -public enum Signers { - DANGEROUS, EXPRESS, OAUTH, TORNADO, RUBY, JWT, UNKNOWN -} diff --git a/src/main/java/one/d4d/sessionless/presenter/Presenter.java b/src/main/java/one/d4d/sessionless/presenter/Presenter.java deleted file mode 100644 index 5ce83aa..0000000 --- a/src/main/java/one/d4d/sessionless/presenter/Presenter.java +++ /dev/null @@ -1,4 +0,0 @@ -package one.d4d.sessionless.presenter; - -public abstract class Presenter { -} diff --git a/src/main/java/one/d4d/sessionless/PercentageBasedColumnWidthTable.java b/src/main/java/one/d4d/signsaboteur/PercentageBasedColumnWidthTable.java similarity index 98% rename from src/main/java/one/d4d/sessionless/PercentageBasedColumnWidthTable.java rename to src/main/java/one/d4d/signsaboteur/PercentageBasedColumnWidthTable.java index ac6d271..7aa9a18 100644 --- a/src/main/java/one/d4d/sessionless/PercentageBasedColumnWidthTable.java +++ b/src/main/java/one/d4d/signsaboteur/PercentageBasedColumnWidthTable.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless; +package one.d4d.signsaboteur; import javax.swing.*; import javax.swing.table.TableColumnModel; diff --git a/src/main/java/one/d4d/sessionless/RowHeightDecoratingTableCellRenderer.java b/src/main/java/one/d4d/signsaboteur/RowHeightDecoratingTableCellRenderer.java similarity index 96% rename from src/main/java/one/d4d/sessionless/RowHeightDecoratingTableCellRenderer.java rename to src/main/java/one/d4d/signsaboteur/RowHeightDecoratingTableCellRenderer.java index c86fad6..3f25130 100644 --- a/src/main/java/one/d4d/sessionless/RowHeightDecoratingTableCellRenderer.java +++ b/src/main/java/one/d4d/signsaboteur/RowHeightDecoratingTableCellRenderer.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless; +package one.d4d.signsaboteur; import javax.swing.*; import javax.swing.table.TableCellRenderer; diff --git a/src/main/java/one/d4d/sessionless/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java b/src/main/java/one/d4d/signsaboteur/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java similarity index 95% rename from src/main/java/one/d4d/sessionless/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java rename to src/main/java/one/d4d/signsaboteur/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java index 84ef321..c836823 100644 --- a/src/main/java/one/d4d/sessionless/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java +++ b/src/main/java/one/d4d/signsaboteur/forms/AlternateRowBackgroundDecoratingTableCellRenderer.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import javax.swing.*; import javax.swing.table.TableCellRenderer; diff --git a/src/main/java/one/d4d/sessionless/forms/EditorTab.form b/src/main/java/one/d4d/signsaboteur/forms/EditorTab.form similarity index 99% rename from src/main/java/one/d4d/sessionless/forms/EditorTab.form rename to src/main/java/one/d4d/signsaboteur/forms/EditorTab.form index d6cc2a3..ce3dad5 100644 --- a/src/main/java/one/d4d/sessionless/forms/EditorTab.form +++ b/src/main/java/one/d4d/signsaboteur/forms/EditorTab.form @@ -1,5 +1,5 @@ -
+ diff --git a/src/main/java/one/d4d/sessionless/forms/EditorTab.java b/src/main/java/one/d4d/signsaboteur/forms/EditorTab.java similarity index 98% rename from src/main/java/one/d4d/sessionless/forms/EditorTab.java rename to src/main/java/one/d4d/signsaboteur/forms/EditorTab.java index 77de23d..217fe34 100644 --- a/src/main/java/one/d4d/sessionless/forms/EditorTab.java +++ b/src/main/java/one/d4d/signsaboteur/forms/EditorTab.java @@ -1,17 +1,17 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.collaborator.CollaboratorPayloadGenerator; import burp.api.montoya.ui.Selection; import burp.api.montoya.ui.editor.extension.ExtensionProvidedEditor; import burp.config.SignerConfig; -import one.d4d.sessionless.forms.utils.FormUtils; -import one.d4d.sessionless.hexcodearea.HexCodeAreaFactory; -import one.d4d.sessionless.presenter.EditorPresenter; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.rsta.RstaFactory; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; -import one.d4d.sessionless.utils.MaxLengthStringComboBoxModel; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.forms.utils.FormUtils; +import one.d4d.signsaboteur.hexcodearea.HexCodeAreaFactory; +import one.d4d.signsaboteur.presenter.EditorPresenter; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.rsta.RstaFactory; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.utils.MaxLengthStringComboBoxModel; +import one.d4d.signsaboteur.utils.Utils; import org.exbin.deltahex.EditationAllowed; import org.exbin.deltahex.swing.CodeArea; import org.exbin.utils.binary_data.ByteArrayEditableData; diff --git a/src/main/java/one/d4d/sessionless/forms/ExtensionTab.form b/src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.form similarity index 88% rename from src/main/java/one/d4d/sessionless/forms/ExtensionTab.form rename to src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.form index 9b9f087..57ba8fa 100644 --- a/src/main/java/one/d4d/sessionless/forms/ExtensionTab.form +++ b/src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.form @@ -1,5 +1,5 @@ - + @@ -25,7 +25,7 @@ - + @@ -40,7 +40,7 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/ExtensionTab.java b/src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.java similarity index 92% rename from src/main/java/one/d4d/sessionless/forms/ExtensionTab.java rename to src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.java index 4129ab0..d6318c4 100644 --- a/src/main/java/one/d4d/sessionless/forms/ExtensionTab.java +++ b/src/main/java/one/d4d/signsaboteur/forms/ExtensionTab.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.ui.UserInterface; import burp.config.BurpConfig; import burp.config.BurpKeysModelPersistence; import burp.config.KeysModel; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/KeysTableColumns.java b/src/main/java/one/d4d/signsaboteur/forms/KeysTableColumns.java similarity index 93% rename from src/main/java/one/d4d/sessionless/forms/KeysTableColumns.java rename to src/main/java/one/d4d/signsaboteur/forms/KeysTableColumns.java index 25448fd..4a062c6 100644 --- a/src/main/java/one/d4d/sessionless/forms/KeysTableColumns.java +++ b/src/main/java/one/d4d/signsaboteur/forms/KeysTableColumns.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import static java.util.Arrays.stream; diff --git a/src/main/java/one/d4d/sessionless/forms/KeysTableModel.java b/src/main/java/one/d4d/signsaboteur/forms/KeysTableModel.java similarity index 95% rename from src/main/java/one/d4d/sessionless/forms/KeysTableModel.java rename to src/main/java/one/d4d/signsaboteur/forms/KeysTableModel.java index eb6c0b9..d1a33ab 100644 --- a/src/main/java/one/d4d/sessionless/forms/KeysTableModel.java +++ b/src/main/java/one/d4d/signsaboteur/forms/KeysTableModel.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.keys.SecretKey; import javax.swing.table.AbstractTableModel; import java.util.ArrayList; diff --git a/src/main/java/one/d4d/sessionless/forms/MessageDialogFactory.java b/src/main/java/one/d4d/signsaboteur/forms/MessageDialogFactory.java similarity index 92% rename from src/main/java/one/d4d/sessionless/forms/MessageDialogFactory.java rename to src/main/java/one/d4d/signsaboteur/forms/MessageDialogFactory.java index 6b13648..08982c0 100644 --- a/src/main/java/one/d4d/sessionless/forms/MessageDialogFactory.java +++ b/src/main/java/one/d4d/signsaboteur/forms/MessageDialogFactory.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/RequestEditorView.java b/src/main/java/one/d4d/signsaboteur/forms/RequestEditorView.java similarity index 89% rename from src/main/java/one/d4d/sessionless/forms/RequestEditorView.java rename to src/main/java/one/d4d/signsaboteur/forms/RequestEditorView.java index 253a38c..97f72b9 100644 --- a/src/main/java/one/d4d/sessionless/forms/RequestEditorView.java +++ b/src/main/java/one/d4d/signsaboteur/forms/RequestEditorView.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.collaborator.CollaboratorPayloadGenerator; import burp.api.montoya.core.ByteArray; @@ -9,10 +9,10 @@ import burp.api.montoya.ui.UserInterface; import burp.api.montoya.ui.editor.extension.ExtensionProvidedHttpRequestEditor; import burp.config.SignerConfig; -import one.d4d.sessionless.hexcodearea.HexCodeAreaFactory; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.rsta.RstaFactory; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.hexcodearea.HexCodeAreaFactory; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.rsta.RstaFactory; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; import java.net.URL; diff --git a/src/main/java/one/d4d/sessionless/forms/ResponseEditorView.java b/src/main/java/one/d4d/signsaboteur/forms/ResponseEditorView.java similarity index 91% rename from src/main/java/one/d4d/sessionless/forms/ResponseEditorView.java rename to src/main/java/one/d4d/signsaboteur/forms/ResponseEditorView.java index d6c6662..75dc861 100644 --- a/src/main/java/one/d4d/sessionless/forms/ResponseEditorView.java +++ b/src/main/java/one/d4d/signsaboteur/forms/ResponseEditorView.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.collaborator.CollaboratorPayloadGenerator; import burp.api.montoya.core.ByteArray; @@ -9,10 +9,10 @@ import burp.api.montoya.ui.UserInterface; import burp.api.montoya.ui.editor.extension.ExtensionProvidedHttpResponseEditor; import burp.config.SignerConfig; -import one.d4d.sessionless.hexcodearea.HexCodeAreaFactory; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.rsta.RstaFactory; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.hexcodearea.HexCodeAreaFactory; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.rsta.RstaFactory; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; import java.net.URL; import java.util.Set; diff --git a/src/main/java/one/d4d/sessionless/forms/SettingsView.form b/src/main/java/one/d4d/signsaboteur/forms/SettingsView.form similarity index 91% rename from src/main/java/one/d4d/sessionless/forms/SettingsView.form rename to src/main/java/one/d4d/signsaboteur/forms/SettingsView.form index 3194c43..b0018c9 100644 --- a/src/main/java/one/d4d/sessionless/forms/SettingsView.form +++ b/src/main/java/one/d4d/signsaboteur/forms/SettingsView.form @@ -1,9 +1,9 @@ - + - + @@ -94,7 +94,7 @@ - + @@ -214,6 +214,23 @@ + + + + + + + + + + + + + + + + + diff --git a/src/main/java/one/d4d/sessionless/forms/SettingsView.java b/src/main/java/one/d4d/signsaboteur/forms/SettingsView.java similarity index 92% rename from src/main/java/one/d4d/sessionless/forms/SettingsView.java rename to src/main/java/one/d4d/signsaboteur/forms/SettingsView.java index 74f3ab7..42a6c8e 100644 --- a/src/main/java/one/d4d/sessionless/forms/SettingsView.java +++ b/src/main/java/one/d4d/signsaboteur/forms/SettingsView.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.ui.UserInterface; import burp.config.BurpConfig; import burp.config.ProxyConfig; import burp.config.SignerConfig; import burp.proxy.HighlightColor; -import one.d4d.sessionless.itsdangerous.crypto.Signers; +import one.d4d.signsaboteur.itsdangerous.crypto.Signers; import javax.swing.*; import java.awt.*; @@ -30,6 +30,7 @@ public class SettingsView { private JCheckBox checkBoxEnableTornadoSignedString; private JCheckBox checkBoxEnableRubySignedString; private JCheckBox checkBoxEnableJWT; + private JCheckBox checkBoxNIMBUSDS; public SettingsView(Window parent, BurpConfig burpConfig, UserInterface userInterface) { this.parent = parent; @@ -75,6 +76,10 @@ public SettingsView(Window parent, BurpConfig burpConfig, UserInterface userInte checkBoxEnableJWT.addActionListener(e -> signerConfig.toggleEnabled(Signers.JWT, checkBoxEnableJWT.isSelected())); + checkBoxNIMBUSDS.setSelected(signerConfig.isEnabled(Signers.NIMBUSDS)); + checkBoxNIMBUSDS.addActionListener(e -> + signerConfig.toggleEnabled(Signers.NIMBUSDS, checkBoxNIMBUSDS.isSelected())); + checkBoxEnableUnknownSignedString.setSelected(signerConfig.isEnabled(Signers.UNKNOWN)); checkBoxEnableUnknownSignedString.addActionListener(e -> signerConfig.toggleEnabled(Signers.UNKNOWN, checkBoxEnableUnknownSignedString.isSelected())); diff --git a/src/main/java/one/d4d/sessionless/forms/WordlistView.form b/src/main/java/one/d4d/signsaboteur/forms/WordlistView.form similarity index 95% rename from src/main/java/one/d4d/sessionless/forms/WordlistView.form rename to src/main/java/one/d4d/signsaboteur/forms/WordlistView.form index 053d604..6decb62 100644 --- a/src/main/java/one/d4d/sessionless/forms/WordlistView.form +++ b/src/main/java/one/d4d/signsaboteur/forms/WordlistView.form @@ -1,9 +1,9 @@ - + - + @@ -244,7 +244,7 @@ - + @@ -262,9 +262,17 @@ - + + + + + + + + + diff --git a/src/main/java/one/d4d/sessionless/forms/WordlistView.java b/src/main/java/one/d4d/signsaboteur/forms/WordlistView.java similarity index 94% rename from src/main/java/one/d4d/sessionless/forms/WordlistView.java rename to src/main/java/one/d4d/signsaboteur/forms/WordlistView.java index 9b8a8df..c8db7df 100644 --- a/src/main/java/one/d4d/sessionless/forms/WordlistView.java +++ b/src/main/java/one/d4d/signsaboteur/forms/WordlistView.java @@ -1,14 +1,14 @@ -package one.d4d.sessionless.forms; +package one.d4d.signsaboteur.forms; import burp.api.montoya.ui.UserInterface; import burp.config.BurpKeysModelPersistence; import burp.config.KeysModel; -import one.d4d.sessionless.PercentageBasedColumnWidthTable; -import one.d4d.sessionless.RowHeightDecoratingTableCellRenderer; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.presenter.KeyPresenter; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.PercentageBasedColumnWidthTable; +import one.d4d.signsaboteur.RowHeightDecoratingTableCellRenderer; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.presenter.KeyPresenter; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import javax.swing.table.TableCellRenderer; @@ -41,6 +41,7 @@ public class WordlistView { private JTextArea textAreaSecrets; private JButton secretsAddButton; private JButton saltsAddButton; + private JButton buttonLoadDefaults; private JMenuItem menuItemDelete; private JMenuItem menuItemCopy; @@ -94,6 +95,7 @@ public WordlistView( // Attach event handlers for button clicks newKeyButton.addActionListener(e -> presenter.onButtonNewSecretKeyClick()); + buttonLoadDefaults.addActionListener(e -> presenter.onButtonLoadDefaultsClick()); } public Component getUiComponent() { diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/AbstractDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/AbstractDialog.java similarity index 90% rename from src/main/java/one/d4d/sessionless/forms/dialog/AbstractDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/AbstractDialog.java index d597f04..fdaf514 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/AbstractDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/AbstractDialog.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.forms.dialog; +package one.d4d.signsaboteur.forms.dialog; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.form b/src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.form similarity index 99% rename from src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.form rename to src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.form index 9b1b47c..36789d7 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.form +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.java similarity index 93% rename from src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.java index 00c907a..e166669 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/AttackDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/AttackDialog.java @@ -1,14 +1,13 @@ -package one.d4d.sessionless.forms.dialog; +package one.d4d.signsaboteur.forms.dialog; -import burp.api.montoya.collaborator.CollaboratorPayload; import burp.api.montoya.collaborator.CollaboratorPayloadGenerator; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.crypto.*; -import one.d4d.sessionless.itsdangerous.model.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ClaimsUtils; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.crypto.*; +import one.d4d.signsaboteur.itsdangerous.model.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ClaimsUtils; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.form b/src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.form similarity index 98% rename from src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.form rename to src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.form index 2cc3234..93d11bb 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.form +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.java similarity index 89% rename from src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.java index a50c1ef..214c268 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/BruteForceAttackDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/BruteForceAttackDialog.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.forms.dialog; - -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; -import one.d4d.sessionless.utils.Utils; +package one.d4d.signsaboteur.forms.dialog; + +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/KeyDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/KeyDialog.java similarity index 88% rename from src/main/java/one/d4d/sessionless/forms/dialog/KeyDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/KeyDialog.java index a2aac86..cbdc86b 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/KeyDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/KeyDialog.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.forms.dialog; +package one.d4d.signsaboteur.forms.dialog; -import one.d4d.sessionless.keys.Key; -import one.d4d.sessionless.presenter.KeyPresenter; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.keys.Key; +import one.d4d.signsaboteur.presenter.KeyPresenter; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.form b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.form similarity index 99% rename from src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.form rename to src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.form index 23c501f..a5685f0 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.form +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.java similarity index 91% rename from src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.java index a425932..8344dcf 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/NewKeyDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewKeyDialog.java @@ -1,14 +1,14 @@ -package one.d4d.sessionless.forms.dialog; - -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.Key; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.presenter.PresenterStore; -import one.d4d.sessionless.utils.DocumentAdapter; -import one.d4d.sessionless.utils.GsonHelper; +package one.d4d.signsaboteur.forms.dialog; + +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.Key; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.presenter.PresenterStore; +import one.d4d.signsaboteur.utils.DocumentAdapter; +import one.d4d.signsaboteur.utils.GsonHelper; import javax.swing.*; import javax.swing.event.DocumentListener; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.form b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.form similarity index 98% rename from src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.form rename to src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.form index 11b7752..2486302 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.form +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.java similarity index 92% rename from src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.java index 413ee92..8b802a6 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/NewWordDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/NewWordDialog.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.forms.dialog; +package one.d4d.signsaboteur.forms.dialog; -import one.d4d.sessionless.utils.GsonHelper; +import one.d4d.signsaboteur.utils.GsonHelper; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.form b/src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.form similarity index 98% rename from src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.form rename to src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.form index 061033c..03bf9f5 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.form +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.form @@ -1,5 +1,5 @@ - + diff --git a/src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.java b/src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.java similarity index 90% rename from src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.java rename to src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.java index 5b75f4c..959e45a 100644 --- a/src/main/java/one/d4d/sessionless/forms/dialog/SignDialog.java +++ b/src/main/java/one/d4d/signsaboteur/forms/dialog/SignDialog.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.forms.dialog; +package one.d4d.signsaboteur.forms.dialog; -import one.d4d.sessionless.itsdangerous.crypto.*; -import one.d4d.sessionless.itsdangerous.model.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.crypto.*; +import one.d4d.signsaboteur.itsdangerous.model.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/one/d4d/sessionless/forms/utils/FormUtils.java b/src/main/java/one/d4d/signsaboteur/forms/utils/FormUtils.java similarity index 90% rename from src/main/java/one/d4d/sessionless/forms/utils/FormUtils.java rename to src/main/java/one/d4d/signsaboteur/forms/utils/FormUtils.java index 7b5ade1..2273612 100644 --- a/src/main/java/one/d4d/sessionless/forms/utils/FormUtils.java +++ b/src/main/java/one/d4d/signsaboteur/forms/utils/FormUtils.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.forms.utils; +package one.d4d.signsaboteur.forms.utils; import org.exbin.deltahex.swing.CodeArea; import org.exbin.utils.binary_data.BinaryData; diff --git a/src/main/java/one/d4d/sessionless/hexcodearea/FontMetricsClearingCodeArea.java b/src/main/java/one/d4d/signsaboteur/hexcodearea/FontMetricsClearingCodeArea.java similarity index 97% rename from src/main/java/one/d4d/sessionless/hexcodearea/FontMetricsClearingCodeArea.java rename to src/main/java/one/d4d/signsaboteur/hexcodearea/FontMetricsClearingCodeArea.java index 8c6a7f8..2bcad63 100644 --- a/src/main/java/one/d4d/sessionless/hexcodearea/FontMetricsClearingCodeArea.java +++ b/src/main/java/one/d4d/signsaboteur/hexcodearea/FontMetricsClearingCodeArea.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.hexcodearea; +package one.d4d.signsaboteur.hexcodearea; import burp.api.montoya.logging.Logging; import org.exbin.deltahex.swing.CodeArea; diff --git a/src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaCommandHandler.java b/src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaCommandHandler.java similarity index 94% rename from src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaCommandHandler.java rename to src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaCommandHandler.java index ff18f34..b296dd2 100644 --- a/src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaCommandHandler.java +++ b/src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaCommandHandler.java @@ -1,8 +1,8 @@ -package one.d4d.sessionless.hexcodearea; +package one.d4d.signsaboteur.hexcodearea; import com.nimbusds.jose.util.Base64URL; -import one.d4d.sessionless.forms.utils.FormUtils; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.forms.utils.FormUtils; +import one.d4d.signsaboteur.utils.Utils; import org.exbin.deltahex.EditationMode; import org.exbin.deltahex.swing.CodeArea; import org.exbin.deltahex.swing.CodeAreaCaret; @@ -15,8 +15,8 @@ import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; -import static one.d4d.sessionless.utils.HexUtils.decodeHex; -import static one.d4d.sessionless.utils.HexUtils.encodeHex; +import static one.d4d.signsaboteur.utils.HexUtils.decodeHex; +import static one.d4d.signsaboteur.utils.HexUtils.encodeHex; /** * Class to handle copy and paste from a CodeArea to/from hexadecimal strings diff --git a/src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaFactory.java b/src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaFactory.java similarity index 91% rename from src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaFactory.java rename to src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaFactory.java index 527d41f..c7507ef 100644 --- a/src/main/java/one/d4d/sessionless/hexcodearea/HexCodeAreaFactory.java +++ b/src/main/java/one/d4d/signsaboteur/hexcodearea/HexCodeAreaFactory.java @@ -1,8 +1,8 @@ -package one.d4d.sessionless.hexcodearea; +package one.d4d.signsaboteur.hexcodearea; import burp.api.montoya.logging.Logging; import burp.api.montoya.ui.UserInterface; -import one.d4d.sessionless.utils.FontProvider; +import one.d4d.signsaboteur.utils.FontProvider; import org.exbin.deltahex.swing.CodeArea; import org.exbin.utils.binary_data.ByteArrayEditableData; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/Algorithms.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/Algorithms.java similarity index 91% rename from src/main/java/one/d4d/sessionless/itsdangerous/Algorithms.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/Algorithms.java index 106243b..d0f8515 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/Algorithms.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/Algorithms.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/Attack.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/Attack.java similarity index 90% rename from src/main/java/one/d4d/sessionless/itsdangerous/Attack.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/Attack.java index 082a86f..46890ca 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/Attack.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/Attack.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/BadPayloadException.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/BadPayloadException.java similarity index 75% rename from src/main/java/one/d4d/sessionless/itsdangerous/BadPayloadException.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/BadPayloadException.java index fa1f6f6..616f345 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/BadPayloadException.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/BadPayloadException.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; public class BadPayloadException extends Exception{ public BadPayloadException(String message) { diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/BadSignatureException.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/BadSignatureException.java similarity index 76% rename from src/main/java/one/d4d/sessionless/itsdangerous/BadSignatureException.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/BadSignatureException.java index 4f4bf36..fb93ebc 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/BadSignatureException.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/BadSignatureException.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; public class BadSignatureException extends Exception{ public BadSignatureException(String message) { diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/BruteForce.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/BruteForce.java similarity index 93% rename from src/main/java/one/d4d/sessionless/itsdangerous/BruteForce.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/BruteForce.java index 08bc8e1..8a04c28 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/BruteForce.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/BruteForce.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.common.collect.Lists; -import one.d4d.sessionless.itsdangerous.crypto.TokenSigner; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.UnknownSignedToken; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.crypto.TokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.UnknownSignedToken; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import java.util.ArrayList; import java.util.HashSet; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/Derivation.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/Derivation.java similarity index 94% rename from src/main/java/one/d4d/sessionless/itsdangerous/Derivation.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/Derivation.java index fceee95..6045956 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/Derivation.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/Derivation.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/DerivationException.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/DerivationException.java similarity index 75% rename from src/main/java/one/d4d/sessionless/itsdangerous/DerivationException.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/DerivationException.java index 63c9dcb..7c84cdc 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/DerivationException.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/DerivationException.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; public class DerivationException extends Exception{ public DerivationException(String message) { diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/MessageDerivation.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDerivation.java similarity index 89% rename from src/main/java/one/d4d/sessionless/itsdangerous/MessageDerivation.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDerivation.java index 8298ba0..f52c42f 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/MessageDerivation.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDerivation.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/MessageDigestAlgorithm.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDigestAlgorithm.java similarity index 93% rename from src/main/java/one/d4d/sessionless/itsdangerous/MessageDigestAlgorithm.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDigestAlgorithm.java index 34ccf02..d948e16 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/MessageDigestAlgorithm.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/MessageDigestAlgorithm.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous; +package one.d4d.signsaboteur.itsdangerous; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/DangerousTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DangerousTokenSigner.java similarity index 92% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/DangerousTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DangerousTokenSigner.java index 156f96e..9ced21e 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/DangerousTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DangerousTokenSigner.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; import com.google.common.primitives.Bytes; -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import java.util.Arrays; import java.util.Collections; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/DjangoTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DjangoTokenSigner.java similarity index 72% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/DjangoTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DjangoTokenSigner.java index 61ab8fd..b4368d6 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/DjangoTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/DjangoTokenSigner.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.SecretKey; import java.util.EnumSet; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/ExpressTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/ExpressTokenSigner.java similarity index 93% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/ExpressTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/ExpressTokenSigner.java index cd1b147..cce86f3 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/ExpressTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/ExpressTokenSigner.java @@ -1,7 +1,7 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.keys.SecretKey; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/JSONWebSignatureTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/JSONWebSignatureTokenSigner.java similarity index 65% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/JSONWebSignatureTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/JSONWebSignatureTokenSigner.java index 3f9815f..78a467a 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/JSONWebSignatureTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/JSONWebSignatureTokenSigner.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.SecretKey; import java.util.EnumSet; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/OauthProxyTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/OauthProxyTokenSigner.java similarity index 92% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/OauthProxyTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/OauthProxyTokenSigner.java index 7c6fc71..bbc42a1 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/OauthProxyTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/OauthProxyTokenSigner.java @@ -1,8 +1,8 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/RubyTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/RubyTokenSigner.java similarity index 80% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/RubyTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/RubyTokenSigner.java index 3e79b7e..ea49a13 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/RubyTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/RubyTokenSigner.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.SecretKey; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; diff --git a/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/Signers.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/Signers.java new file mode 100644 index 0000000..b0b081e --- /dev/null +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/Signers.java @@ -0,0 +1,5 @@ +package one.d4d.signsaboteur.itsdangerous.crypto; + +public enum Signers { + DANGEROUS, EXPRESS, OAUTH, TORNADO, RUBY, JWT, NIMBUSDS, UNKNOWN +} diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/TokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TokenSigner.java similarity index 98% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/TokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TokenSigner.java index 8b1ad8e..d2d50ee 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/TokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TokenSigner.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; import com.google.common.primitives.Bytes; -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import javax.crypto.Mac; import javax.crypto.SecretKeyFactory; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/TornadoTokenSigner.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TornadoTokenSigner.java similarity index 95% rename from src/main/java/one/d4d/sessionless/itsdangerous/crypto/TornadoTokenSigner.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TornadoTokenSigner.java index 035cc96..98751fb 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/crypto/TornadoTokenSigner.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/crypto/TornadoTokenSigner.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.itsdangerous.crypto; +package one.d4d.signsaboteur.itsdangerous.crypto; import com.google.common.primitives.Bytes; -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/DangerousSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/DangerousSignedToken.java similarity index 90% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/DangerousSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/DangerousSignedToken.java index 9b15f99..d44aa4c 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/DangerousSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/DangerousSignedToken.java @@ -1,12 +1,12 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.itsdangerous.crypto.DangerousTokenSigner; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.itsdangerous.crypto.DangerousTokenSigner; +import one.d4d.signsaboteur.utils.Utils; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/DjangoSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/DjangoSignedToken.java similarity index 78% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/DjangoSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/DjangoSignedToken.java index e683fe5..d9bae8a 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/DjangoSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/DjangoSignedToken.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.utils.Utils; public class DjangoSignedToken extends DangerousSignedToken { diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/ExpressSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/ExpressSignedToken.java similarity index 88% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/ExpressSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/ExpressSignedToken.java index f0ace77..1bcfa78 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/ExpressSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/ExpressSignedToken.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.BadSignatureException; -import one.d4d.sessionless.itsdangerous.crypto.ExpressTokenSigner; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.BadSignatureException; +import one.d4d.signsaboteur.itsdangerous.crypto.ExpressTokenSigner; +import one.d4d.signsaboteur.utils.Utils; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/JSONWebSignature.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/JSONWebSignature.java similarity index 94% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/JSONWebSignature.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/JSONWebSignature.java index 723246a..19fb345 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/JSONWebSignature.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/JSONWebSignature.java @@ -1,7 +1,7 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.crypto.JSONWebSignatureTokenSigner; +import one.d4d.signsaboteur.itsdangerous.crypto.JSONWebSignatureTokenSigner; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/MutableSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/MutableSignedToken.java similarity index 92% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/MutableSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/MutableSignedToken.java index 14fee54..beeafa4 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/MutableSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/MutableSignedToken.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; public class MutableSignedToken { private final String original; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/OauthProxySignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/OauthProxySignedToken.java similarity index 90% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/OauthProxySignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/OauthProxySignedToken.java index 17374b7..3b68880 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/OauthProxySignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/OauthProxySignedToken.java @@ -1,9 +1,9 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.BadSignatureException; -import one.d4d.sessionless.itsdangerous.crypto.OauthProxyTokenSigner; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.BadSignatureException; +import one.d4d.signsaboteur.itsdangerous.crypto.OauthProxyTokenSigner; +import one.d4d.signsaboteur.utils.Utils; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/RubySignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/RubySignedToken.java similarity index 74% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/RubySignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/RubySignedToken.java index 353dc55..c544d35 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/RubySignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/RubySignedToken.java @@ -1,8 +1,8 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; -import one.d4d.sessionless.itsdangerous.crypto.RubyTokenSigner; -import one.d4d.sessionless.itsdangerous.crypto.Signers; -import one.d4d.sessionless.utils.HexUtils; +import one.d4d.signsaboteur.itsdangerous.crypto.RubyTokenSigner; +import one.d4d.signsaboteur.itsdangerous.crypto.Signers; +import one.d4d.signsaboteur.utils.HexUtils; public class RubySignedToken extends UnknownSignedToken { diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/SignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedToken.java similarity index 85% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/SignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedToken.java index aea5f7a..eb4e7ad 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/SignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedToken.java @@ -1,8 +1,8 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.crypto.TokenSigner; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.crypto.TokenSigner; +import one.d4d.signsaboteur.keys.SecretKey; public abstract class SignedToken { public String message; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/SignedTokenObjectFinder.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedTokenObjectFinder.java similarity index 92% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/SignedTokenObjectFinder.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedTokenObjectFinder.java index 1b0fa84..ae116ae 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/SignedTokenObjectFinder.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/SignedTokenObjectFinder.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import burp.api.montoya.core.ByteArray; import burp.api.montoya.http.message.Cookie; @@ -6,20 +6,22 @@ import burp.api.montoya.http.message.params.ParsedHttpParameter; import burp.config.SignerConfig; import com.google.common.base.CharMatcher; -import one.d4d.sessionless.itsdangerous.crypto.Signers; -import one.d4d.sessionless.utils.Utils; +import com.nimbusds.jose.JWSAlgorithm; +import com.nimbusds.jose.JWSHeader; +import com.nimbusds.jwt.SignedJWT; +import one.d4d.signsaboteur.itsdangerous.crypto.Signers; +import one.d4d.signsaboteur.utils.Utils; import org.apache.commons.lang3.StringUtils; -import java.nio.charset.StandardCharsets; import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import java.util.stream.Collectors; public class SignedTokenObjectFinder { public static final char[] SEPARATORS = {'.', ':', '#', '|'}; public static final char[] ALL_SEPARATORS = {'.', ':', '!', '#', '$', '*', ';', '@', '|', '~'}; private static final int[] SIGNATURES_LENGTH = {20, 28, 32, 48, 64}; + private static final Set SUPPORTED_ALGORITHMS = Set.of(JWSAlgorithm.HS256, JWSAlgorithm.HS384, JWSAlgorithm.HS512); + private static final String SIGNED_PARAM = ".SIG"; // Regular expressions for JWS/JWE extraction @@ -82,6 +84,14 @@ public static List extractSignedTokenObjects(SignerConfig si signedTokensObjects.add(new MutableSignedToken(candidate.toString(), value))); } } + if (signerConfig.isEnabled(Signers.NIMBUSDS)) { + List stringCandidates = Utils.searchByteArrayBase64URLSafe(text); + for (ByteArray candidate : stringCandidates) { + parseSignedJWT(candidate.toString(), false) + .ifPresent(value -> + signedTokensObjects.add(new MutableSignedToken(candidate.toString(), value))); + } + } if (signerConfig.isEnabled(Signers.UNKNOWN)) { List stringCandidates = Utils.searchByteArrayBase64(text); for (ByteArray candidate : stringCandidates) { @@ -453,6 +463,25 @@ public static Optional parseJSONWebSignature(String text) { return Optional.of(t); } + public static Optional parseSignedJWT(String text, boolean validateToken) { + try { + SignedJWT candidate = SignedJWT.parse(text); + JWSHeader header = candidate.getHeader(); + JWSAlgorithm alg = header.getAlgorithm(); + List parts = Arrays.stream(candidate.getParsedParts()).map(com.nimbusds.jose.util.Base64::toString).toList(); + if (parts.size() != 3) return Optional.empty(); + if (!SUPPORTED_ALGORITHMS.contains(alg) && validateToken) { + return Optional.empty(); + } + return Optional.of(new JSONWebSignature( + parts.get(0), + parts.get(1), + parts.get(2), + new byte[]{(byte) '.'})); + }catch (Exception e) { + return Optional.empty(); + } + } public static Optional parseUnknownSignedString(String text) { char separator = 0; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/TornadoSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/TornadoSignedToken.java similarity index 88% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/TornadoSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/TornadoSignedToken.java index 07fa37b..c2c5e3b 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/TornadoSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/TornadoSignedToken.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.BadSignatureException; -import one.d4d.sessionless.itsdangerous.crypto.ExpressTokenSigner; -import one.d4d.sessionless.itsdangerous.crypto.TornadoTokenSigner; -import one.d4d.sessionless.utils.HexUtils; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.BadSignatureException; +import one.d4d.signsaboteur.itsdangerous.crypto.ExpressTokenSigner; +import one.d4d.signsaboteur.itsdangerous.crypto.TornadoTokenSigner; +import one.d4d.signsaboteur.utils.HexUtils; +import one.d4d.signsaboteur.utils.Utils; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/itsdangerous/model/UnknownSignedToken.java b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/UnknownSignedToken.java similarity index 73% rename from src/main/java/one/d4d/sessionless/itsdangerous/model/UnknownSignedToken.java rename to src/main/java/one/d4d/signsaboteur/itsdangerous/model/UnknownSignedToken.java index 66c9a66..61a3175 100644 --- a/src/main/java/one/d4d/sessionless/itsdangerous/model/UnknownSignedToken.java +++ b/src/main/java/one/d4d/signsaboteur/itsdangerous/model/UnknownSignedToken.java @@ -1,12 +1,12 @@ -package one.d4d.sessionless.itsdangerous.model; +package one.d4d.signsaboteur.itsdangerous.model; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.itsdangerous.crypto.Signers; -import one.d4d.sessionless.itsdangerous.crypto.TokenSigner; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.itsdangerous.crypto.Signers; +import one.d4d.signsaboteur.itsdangerous.crypto.TokenSigner; public class UnknownSignedToken extends SignedToken { public byte[] separator; diff --git a/src/main/java/one/d4d/sessionless/keys/Key.java b/src/main/java/one/d4d/signsaboteur/keys/Key.java similarity index 56% rename from src/main/java/one/d4d/sessionless/keys/Key.java rename to src/main/java/one/d4d/signsaboteur/keys/Key.java index d211f18..93867e6 100644 --- a/src/main/java/one/d4d/sessionless/keys/Key.java +++ b/src/main/java/one/d4d/signsaboteur/keys/Key.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.keys; +package one.d4d.signsaboteur.keys; public interface Key { String getID(); diff --git a/src/main/java/one/d4d/sessionless/keys/SecretKey.java b/src/main/java/one/d4d/signsaboteur/keys/SecretKey.java similarity index 90% rename from src/main/java/one/d4d/sessionless/keys/SecretKey.java rename to src/main/java/one/d4d/signsaboteur/keys/SecretKey.java index a2cc9f2..6c25fb9 100644 --- a/src/main/java/one/d4d/sessionless/keys/SecretKey.java +++ b/src/main/java/one/d4d/signsaboteur/keys/SecretKey.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.keys; +package one.d4d.signsaboteur.keys; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; public class SecretKey implements Key { @Expose diff --git a/src/main/java/one/d4d/sessionless/presenter/EditorModel.java b/src/main/java/one/d4d/signsaboteur/presenter/EditorModel.java similarity index 94% rename from src/main/java/one/d4d/sessionless/presenter/EditorModel.java rename to src/main/java/one/d4d/signsaboteur/presenter/EditorModel.java index fa723d0..7f1d3be 100644 --- a/src/main/java/one/d4d/sessionless/presenter/EditorModel.java +++ b/src/main/java/one/d4d/signsaboteur/presenter/EditorModel.java @@ -1,11 +1,11 @@ -package one.d4d.sessionless.presenter; +package one.d4d.signsaboteur.presenter; import burp.api.montoya.core.ByteArray; import burp.api.montoya.http.message.Cookie; import burp.api.montoya.http.message.params.ParsedHttpParameter; import burp.config.SignerConfig; -import one.d4d.sessionless.itsdangerous.model.MutableSignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.itsdangerous.model.MutableSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; diff --git a/src/main/java/one/d4d/sessionless/presenter/EditorPresenter.java b/src/main/java/one/d4d/signsaboteur/presenter/EditorPresenter.java similarity index 96% rename from src/main/java/one/d4d/sessionless/presenter/EditorPresenter.java rename to src/main/java/one/d4d/signsaboteur/presenter/EditorPresenter.java index 8645883..9d50950 100644 --- a/src/main/java/one/d4d/sessionless/presenter/EditorPresenter.java +++ b/src/main/java/one/d4d/signsaboteur/presenter/EditorPresenter.java @@ -1,26 +1,26 @@ -package one.d4d.sessionless.presenter; +package one.d4d.signsaboteur.presenter; import burp.api.montoya.collaborator.CollaboratorPayloadGenerator; import burp.api.montoya.core.ByteArray; import burp.api.montoya.http.message.Cookie; import burp.api.montoya.http.message.params.ParsedHttpParameter; import burp.config.SignerConfig; -import one.d4d.sessionless.forms.EditorTab; -import one.d4d.sessionless.forms.MessageDialogFactory; -import one.d4d.sessionless.forms.dialog.*; -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.model.*; -import one.d4d.sessionless.keys.Key; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ErrorLoggingActionListenerFactory; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.forms.EditorTab; +import one.d4d.signsaboteur.forms.MessageDialogFactory; +import one.d4d.signsaboteur.forms.dialog.*; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.model.*; +import one.d4d.signsaboteur.keys.Key; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ErrorLoggingActionListenerFactory; +import one.d4d.signsaboteur.utils.Utils; import java.net.URL; import java.util.Base64; import java.util.List; import java.util.Set; -import static one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder.containsSignedTokenObjects; +import static one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder.containsSignedTokenObjects; public class EditorPresenter extends Presenter { private final PresenterStore presenters; diff --git a/src/main/java/one/d4d/sessionless/presenter/KeyPresenter.java b/src/main/java/one/d4d/signsaboteur/presenter/KeyPresenter.java similarity index 92% rename from src/main/java/one/d4d/sessionless/presenter/KeyPresenter.java rename to src/main/java/one/d4d/signsaboteur/presenter/KeyPresenter.java index 5fda56d..c6e9b40 100644 --- a/src/main/java/one/d4d/sessionless/presenter/KeyPresenter.java +++ b/src/main/java/one/d4d/signsaboteur/presenter/KeyPresenter.java @@ -1,14 +1,14 @@ -package one.d4d.sessionless.presenter; +package one.d4d.signsaboteur.presenter; import burp.config.BurpKeysModelPersistence; import burp.config.KeysModel; import burp.config.KeysModelListener; -import one.d4d.sessionless.forms.WordlistView; -import one.d4d.sessionless.forms.dialog.KeyDialog; -import one.d4d.sessionless.forms.dialog.NewKeyDialog; -import one.d4d.sessionless.forms.dialog.NewWordDialog; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.forms.WordlistView; +import one.d4d.signsaboteur.forms.dialog.KeyDialog; +import one.d4d.signsaboteur.forms.dialog.NewKeyDialog; +import one.d4d.signsaboteur.forms.dialog.NewWordDialog; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import javax.swing.*; import java.awt.event.ActionEvent; @@ -16,7 +16,7 @@ import java.util.List; import java.util.Set; -import static one.d4d.sessionless.utils.Utils.prettyPrintJSON; +import static one.d4d.signsaboteur.utils.Utils.prettyPrintJSON; public class KeyPresenter extends Presenter { private final KeysModel model; @@ -129,6 +129,10 @@ public void onButtonNewSecretKeyClick() { } } + public void onButtonLoadDefaultsClick() { + Utils.readDefaultSecretKeys("/keys", this.getClass()).forEach(model::addKey); + } + public void onTableKeysDoubleClick() { SecretKey key = model.getKey(view.getSelectedRow()); diff --git a/src/main/java/one/d4d/signsaboteur/presenter/Presenter.java b/src/main/java/one/d4d/signsaboteur/presenter/Presenter.java new file mode 100644 index 0000000..37dce36 --- /dev/null +++ b/src/main/java/one/d4d/signsaboteur/presenter/Presenter.java @@ -0,0 +1,4 @@ +package one.d4d.signsaboteur.presenter; + +public abstract class Presenter { +} diff --git a/src/main/java/one/d4d/sessionless/presenter/PresenterStore.java b/src/main/java/one/d4d/signsaboteur/presenter/PresenterStore.java similarity index 89% rename from src/main/java/one/d4d/sessionless/presenter/PresenterStore.java rename to src/main/java/one/d4d/signsaboteur/presenter/PresenterStore.java index a0dd71c..5d3e043 100644 --- a/src/main/java/one/d4d/sessionless/presenter/PresenterStore.java +++ b/src/main/java/one/d4d/signsaboteur/presenter/PresenterStore.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.presenter; +package one.d4d.signsaboteur.presenter; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/one/d4d/sessionless/rsta/CustomTokenColors.java b/src/main/java/one/d4d/signsaboteur/rsta/CustomTokenColors.java similarity index 96% rename from src/main/java/one/d4d/sessionless/rsta/CustomTokenColors.java rename to src/main/java/one/d4d/signsaboteur/rsta/CustomTokenColors.java index 25fae99..3e4f294 100644 --- a/src/main/java/one/d4d/sessionless/rsta/CustomTokenColors.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/CustomTokenColors.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.rsta; +package one.d4d.signsaboteur.rsta; import java.awt.*; import java.util.HashMap; diff --git a/src/main/java/one/d4d/sessionless/rsta/CustomizedRSyntaxTextArea.java b/src/main/java/one/d4d/signsaboteur/rsta/CustomizedRSyntaxTextArea.java similarity index 95% rename from src/main/java/one/d4d/sessionless/rsta/CustomizedRSyntaxTextArea.java rename to src/main/java/one/d4d/signsaboteur/rsta/CustomizedRSyntaxTextArea.java index 69313d3..c3b06f2 100644 --- a/src/main/java/one/d4d/sessionless/rsta/CustomizedRSyntaxTextArea.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/CustomizedRSyntaxTextArea.java @@ -1,6 +1,6 @@ -package one.d4d.sessionless.rsta; +package one.d4d.signsaboteur.rsta; -import one.d4d.sessionless.utils.FontProvider; +import one.d4d.signsaboteur.utils.FontProvider; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.Theme; @@ -9,7 +9,7 @@ import java.io.IOException; import java.util.function.Consumer; -import static one.d4d.sessionless.rsta.CustomTokenColors.customTokenColors; +import static one.d4d.signsaboteur.rsta.CustomTokenColors.customTokenColors; import static java.awt.event.HierarchyEvent.SHOWING_CHANGED; import static org.fife.ui.rsyntaxtextarea.Theme.load; diff --git a/src/main/java/one/d4d/sessionless/rsta/DarkModeDetector.java b/src/main/java/one/d4d/signsaboteur/rsta/DarkModeDetector.java similarity index 90% rename from src/main/java/one/d4d/sessionless/rsta/DarkModeDetector.java rename to src/main/java/one/d4d/signsaboteur/rsta/DarkModeDetector.java index c149297..95a2a7d 100644 --- a/src/main/java/one/d4d/sessionless/rsta/DarkModeDetector.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/DarkModeDetector.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.rsta; +package one.d4d.signsaboteur.rsta; import burp.api.montoya.ui.Theme; import burp.api.montoya.ui.UserInterface; diff --git a/src/main/java/one/d4d/sessionless/rsta/RstaFactory.java b/src/main/java/one/d4d/signsaboteur/rsta/RstaFactory.java similarity index 85% rename from src/main/java/one/d4d/sessionless/rsta/RstaFactory.java rename to src/main/java/one/d4d/signsaboteur/rsta/RstaFactory.java index 5cd4f39..ffba6e5 100644 --- a/src/main/java/one/d4d/sessionless/rsta/RstaFactory.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/RstaFactory.java @@ -1,10 +1,10 @@ -package one.d4d.sessionless.rsta; +package one.d4d.signsaboteur.rsta; import burp.api.montoya.logging.Logging; import burp.api.montoya.ui.UserInterface; -import one.d4d.sessionless.rsta.token.SignedTokenMaker; -import one.d4d.sessionless.rsta.token.SignedTokenizerConstants; -import one.d4d.sessionless.utils.FontProvider; +import one.d4d.signsaboteur.rsta.token.SignedTokenMaker; +import one.d4d.signsaboteur.rsta.token.SignedTokenizerConstants; +import one.d4d.signsaboteur.utils.FontProvider; import org.fife.ui.rsyntaxtextarea.AbstractTokenMakerFactory; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.TokenMakerFactory; @@ -14,10 +14,10 @@ import java.awt.*; import java.util.function.Supplier; -import static one.d4d.sessionless.rsta.CustomTokenColors.customTokenColors; -import static one.d4d.sessionless.rsta.token.SignedTokenMaker.*; -import static one.d4d.sessionless.rsta.token.SignedTokenizerConstants.MAPPING; -import static one.d4d.sessionless.rsta.token.SignedTokenizerConstants.TOKEN_MAKER_FQCN; +import static one.d4d.signsaboteur.rsta.CustomTokenColors.customTokenColors; +import static one.d4d.signsaboteur.rsta.token.SignedTokenMaker.*; +import static one.d4d.signsaboteur.rsta.token.SignedTokenizerConstants.MAPPING; +import static one.d4d.signsaboteur.rsta.token.SignedTokenizerConstants.TOKEN_MAKER_FQCN; public class RstaFactory { private final DarkModeDetector darkModeDetector; diff --git a/src/main/java/one/d4d/sessionless/rsta/token/SignedTokenMaker.java b/src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenMaker.java similarity index 98% rename from src/main/java/one/d4d/sessionless/rsta/token/SignedTokenMaker.java rename to src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenMaker.java index 36fd9d3..c95fe55 100644 --- a/src/main/java/one/d4d/sessionless/rsta/token/SignedTokenMaker.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenMaker.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.rsta.token; +package one.d4d.signsaboteur.rsta.token; import org.fife.ui.rsyntaxtextarea.AbstractTokenMaker; import org.fife.ui.rsyntaxtextarea.Token; diff --git a/src/main/java/one/d4d/sessionless/rsta/token/SignedTokenizerConstants.java b/src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenizerConstants.java similarity index 77% rename from src/main/java/one/d4d/sessionless/rsta/token/SignedTokenizerConstants.java rename to src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenizerConstants.java index a2594c7..cebe738 100644 --- a/src/main/java/one/d4d/sessionless/rsta/token/SignedTokenizerConstants.java +++ b/src/main/java/one/d4d/signsaboteur/rsta/token/SignedTokenizerConstants.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.rsta.token; +package one.d4d.signsaboteur.rsta.token; public interface SignedTokenizerConstants { String MAPPING = "text/jwt"; diff --git a/src/main/java/one/d4d/sessionless/utils/Base62.java b/src/main/java/one/d4d/signsaboteur/utils/Base62.java similarity index 99% rename from src/main/java/one/d4d/sessionless/utils/Base62.java rename to src/main/java/one/d4d/signsaboteur/utils/Base62.java index 325e38a..2cbf2af 100644 --- a/src/main/java/one/d4d/sessionless/utils/Base62.java +++ b/src/main/java/one/d4d/signsaboteur/utils/Base62.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import java.io.ByteArrayOutputStream; diff --git a/src/main/java/one/d4d/sessionless/utils/ClaimsUtils.java b/src/main/java/one/d4d/signsaboteur/utils/ClaimsUtils.java similarity index 96% rename from src/main/java/one/d4d/sessionless/utils/ClaimsUtils.java rename to src/main/java/one/d4d/signsaboteur/utils/ClaimsUtils.java index 24872f8..6e114fc 100644 --- a/src/main/java/one/d4d/sessionless/utils/ClaimsUtils.java +++ b/src/main/java/one/d4d/signsaboteur/utils/ClaimsUtils.java @@ -1,13 +1,13 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import com.nimbusds.jose.JWSAlgorithm; import com.nimbusds.jose.JWSHeader; import com.nimbusds.jose.Payload; import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.BadPayloadException; -import one.d4d.sessionless.itsdangerous.crypto.JSONWebSignatureTokenSigner; -import one.d4d.sessionless.itsdangerous.model.JSONWebSignature; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.BadPayloadException; +import one.d4d.signsaboteur.itsdangerous.crypto.JSONWebSignatureTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.JSONWebSignature; +import one.d4d.signsaboteur.keys.SecretKey; import java.net.URL; import java.text.ParseException; diff --git a/src/main/java/one/d4d/sessionless/utils/DocumentAdapter.java b/src/main/java/one/d4d/signsaboteur/utils/DocumentAdapter.java similarity index 95% rename from src/main/java/one/d4d/sessionless/utils/DocumentAdapter.java rename to src/main/java/one/d4d/signsaboteur/utils/DocumentAdapter.java index 4d65a71..510f5f5 100644 --- a/src/main/java/one/d4d/sessionless/utils/DocumentAdapter.java +++ b/src/main/java/one/d4d/signsaboteur/utils/DocumentAdapter.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; diff --git a/src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListener.java b/src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListener.java similarity index 95% rename from src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListener.java rename to src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListener.java index 8236de6..00c32e9 100644 --- a/src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListener.java +++ b/src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListener.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import burp.api.montoya.logging.Logging; diff --git a/src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListenerFactory.java b/src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListenerFactory.java similarity index 92% rename from src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListenerFactory.java rename to src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListenerFactory.java index 6a4590b..7b2c114 100644 --- a/src/main/java/one/d4d/sessionless/utils/ErrorLoggingActionListenerFactory.java +++ b/src/main/java/one/d4d/signsaboteur/utils/ErrorLoggingActionListenerFactory.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import burp.api.montoya.logging.Logging; diff --git a/src/main/java/one/d4d/sessionless/utils/FontProvider.java b/src/main/java/one/d4d/signsaboteur/utils/FontProvider.java similarity index 90% rename from src/main/java/one/d4d/sessionless/utils/FontProvider.java rename to src/main/java/one/d4d/signsaboteur/utils/FontProvider.java index f130155..d06da52 100644 --- a/src/main/java/one/d4d/sessionless/utils/FontProvider.java +++ b/src/main/java/one/d4d/signsaboteur/utils/FontProvider.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import burp.api.montoya.ui.UserInterface; diff --git a/src/main/java/one/d4d/sessionless/utils/GsonHelper.java b/src/main/java/one/d4d/signsaboteur/utils/GsonHelper.java similarity index 97% rename from src/main/java/one/d4d/sessionless/utils/GsonHelper.java rename to src/main/java/one/d4d/signsaboteur/utils/GsonHelper.java index fcc5506..31f101b 100644 --- a/src/main/java/one/d4d/sessionless/utils/GsonHelper.java +++ b/src/main/java/one/d4d/signsaboteur/utils/GsonHelper.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import java.lang.reflect.Type; import java.util.Base64; diff --git a/src/main/java/one/d4d/sessionless/utils/HexUtils.java b/src/main/java/one/d4d/signsaboteur/utils/HexUtils.java similarity index 98% rename from src/main/java/one/d4d/sessionless/utils/HexUtils.java rename to src/main/java/one/d4d/signsaboteur/utils/HexUtils.java index 0fdcfca..d1f3ea4 100644 --- a/src/main/java/one/d4d/sessionless/utils/HexUtils.java +++ b/src/main/java/one/d4d/signsaboteur/utils/HexUtils.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import java.util.Locale; diff --git a/src/main/java/one/d4d/sessionless/utils/MaxLengthStringComboBoxModel.java b/src/main/java/one/d4d/signsaboteur/utils/MaxLengthStringComboBoxModel.java similarity index 94% rename from src/main/java/one/d4d/sessionless/utils/MaxLengthStringComboBoxModel.java rename to src/main/java/one/d4d/signsaboteur/utils/MaxLengthStringComboBoxModel.java index dadc55d..5587aa9 100644 --- a/src/main/java/one/d4d/sessionless/utils/MaxLengthStringComboBoxModel.java +++ b/src/main/java/one/d4d/signsaboteur/utils/MaxLengthStringComboBoxModel.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import javax.swing.*; import java.util.List; diff --git a/src/main/java/one/d4d/sessionless/utils/TestCookie.java b/src/main/java/one/d4d/signsaboteur/utils/TestCookie.java similarity index 95% rename from src/main/java/one/d4d/sessionless/utils/TestCookie.java rename to src/main/java/one/d4d/signsaboteur/utils/TestCookie.java index db77000..855e4fe 100644 --- a/src/main/java/one/d4d/sessionless/utils/TestCookie.java +++ b/src/main/java/one/d4d/signsaboteur/utils/TestCookie.java @@ -1,4 +1,4 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import java.time.ZonedDateTime; import java.util.Optional; diff --git a/src/main/java/one/d4d/sessionless/utils/Utils.java b/src/main/java/one/d4d/signsaboteur/utils/Utils.java similarity index 96% rename from src/main/java/one/d4d/sessionless/utils/Utils.java rename to src/main/java/one/d4d/signsaboteur/utils/Utils.java index db5796c..fb7ded5 100644 --- a/src/main/java/one/d4d/sessionless/utils/Utils.java +++ b/src/main/java/one/d4d/signsaboteur/utils/Utils.java @@ -1,16 +1,14 @@ -package one.d4d.sessionless.utils; +package one.d4d.signsaboteur.utils; import burp.api.montoya.core.ByteArray; import com.google.common.collect.Sets; -import com.google.common.primitives.Bytes; import com.google.common.primitives.Ints; import com.google.gson.Gson; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; +import one.d4d.signsaboteur.keys.SecretKey; import org.apache.commons.lang3.StringUtils; -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; @@ -417,6 +415,18 @@ public static Set readResourceForClass(final String fileName, Class claz return result; } + public static List readDefaultSecretKeys(final String fileName, Class clazz) { + List result = new ArrayList<>(); + try (InputStream inputStream = clazz.getResourceAsStream(fileName); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) { + Gson gson = new Gson(); + reader.lines().forEach(x -> result.add(gson.fromJson(x, SecretKey.class))); + } catch (Exception e) { + return new ArrayList<>(); + } + return result; + } + public static String compactJSON(String json) { StringBuilder stringBuilder = new StringBuilder(); diff --git a/src/main/resources/strings.properties b/src/main/resources/strings.properties index 8053a33..9a20483 100644 --- a/src/main/resources/strings.properties +++ b/src/main/resources/strings.properties @@ -111,3 +111,6 @@ audit_issue_name=Weak HMAC secret audit_issue_details=Detected a signed string using a well-known HMAC secret key. The key used was [%s] audit_issue_background=The cryptographic strength of the HMAC depends upon the size of the secret key that is used. If an attacker is able to create their own valid tokens with arbitrary values, they may be able to escalate their own privileges or impersonate other users, taking full control of their accounts. audit_issue_remediation=How to prevent:
  • Generate your secret key and salt with strong randomness
  • Make sure that you perform robust signature verification on any signed string that you receive. PBKDF2 key derivation function with a big number of iterations will reduce the risk of brute force attacks.
  • Use long and secure ID generator functions for user ID.
+NIMBUSDS_label=NIMBUSDS +button_load_defaults=Load defaults +tooltip_NIMBUSDS=Use Nimbusds library to parse Json Web tokens diff --git a/src/test/java/BruteForceTest.java b/src/test/java/BruteForceTest.java index 427c4ff..d002135 100644 --- a/src/test/java/BruteForceTest.java +++ b/src/test/java/BruteForceTest.java @@ -1,9 +1,9 @@ -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.crypto.DangerousTokenSigner; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.crypto.DangerousTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/ClaimsTest.java b/src/test/java/ClaimsTest.java index 7f1fb15..7e64439 100644 --- a/src/test/java/ClaimsTest.java +++ b/src/test/java/ClaimsTest.java @@ -1,10 +1,10 @@ import com.nimbusds.jwt.JWTClaimsSet; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ClaimsUtils; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ClaimsUtils; import org.junit.jupiter.api.Test; import java.net.MalformedURLException; diff --git a/src/test/java/CompressTest.java b/src/test/java/CompressTest.java index b012925..6645db4 100644 --- a/src/test/java/CompressTest.java +++ b/src/test/java/CompressTest.java @@ -1,10 +1,6 @@ -import burp.api.montoya.core.ByteArray; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Test; -import java.nio.charset.StandardCharsets; -import java.util.List; - import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.fail; diff --git a/src/test/java/DjangoTest.java b/src/test/java/DjangoTest.java index 0d0f24e..c43ee3d 100644 --- a/src/test/java/DjangoTest.java +++ b/src/test/java/DjangoTest.java @@ -1,11 +1,11 @@ -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.crypto.DjangoTokenSigner; -import one.d4d.sessionless.itsdangerous.model.DangerousSignedToken; -import one.d4d.sessionless.itsdangerous.model.DjangoSignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.crypto.DjangoTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.DangerousSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.DjangoSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/ExpressSignedCookieTest.java b/src/test/java/ExpressSignedCookieTest.java index 0348b9a..866a965 100644 --- a/src/test/java/ExpressSignedCookieTest.java +++ b/src/test/java/ExpressSignedCookieTest.java @@ -1,12 +1,12 @@ import burp.api.montoya.http.message.Cookie; -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.crypto.ExpressTokenSigner; -import one.d4d.sessionless.itsdangerous.model.ExpressSignedToken; -import one.d4d.sessionless.itsdangerous.model.MutableSignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.TestCookie; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.crypto.ExpressTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.ExpressSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.MutableSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.TestCookie; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/FlaskDangerousTest.java b/src/test/java/FlaskDangerousTest.java index 9cfef9e..ccb1618 100644 --- a/src/test/java/FlaskDangerousTest.java +++ b/src/test/java/FlaskDangerousTest.java @@ -1,5 +1,5 @@ -import one.d4d.sessionless.itsdangerous.crypto.DangerousTokenSigner; -import one.d4d.sessionless.itsdangerous.model.DangerousSignedToken; +import one.d4d.signsaboteur.itsdangerous.crypto.DangerousTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.DangerousSignedToken; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertArrayEquals; diff --git a/src/test/java/JSONWebSignatureTest.java b/src/test/java/JSONWebSignatureTest.java index 5ffda51..82210ff 100644 --- a/src/test/java/JSONWebSignatureTest.java +++ b/src/test/java/JSONWebSignatureTest.java @@ -1,9 +1,9 @@ -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.itsdangerous.model.JSONWebSignature; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.ClaimsUtils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.itsdangerous.model.JSONWebSignature; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.ClaimsUtils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -28,6 +28,30 @@ void JSONWebSignatureParserTest() { Assertions.fail("Token not found."); } } + @Test + void JWTNimbus() { + final Set secrets = new HashSet<>(List.of("your-256-bit-secret")); + final Set salts = new HashSet<>(List.of("salt")); + final List knownKeys = new ArrayList<>(); + String value = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; + + Optional optionalToken = SignedTokenObjectFinder.parseSignedJWT(value, true); + if (optionalToken.isPresent()) { + JSONWebSignature token = (JSONWebSignature) optionalToken.get(); + BruteForce bf = new BruteForce(secrets, salts, knownKeys, Attack.FAST, token); + SecretKey sk = bf.parallel(); + Assertions.assertNotNull(sk); + } else { + Assertions.fail("Token not found."); + } + } + + @Test + void JSONWebTokenRS256Test() { + String value = "eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.VUPWQZuClnkFbaEKCsPy7CZVMh5wxbCSpaAWFLpnTe9J0--PzHNeTFNXCrVHysAa3eFbuzD8_bLSsgTKC8SzHxRVSj5eN86vBPo_1fNfE7SHTYhWowjY4E_wuiC13yoj"; + Optional optionalToken = SignedTokenObjectFinder.parseSignedJWT(value, true); + Assertions.assertTrue(optionalToken.isEmpty()); + } @Test void JSONWebSignatureClaimsTest() { diff --git a/src/test/java/KeyPersistenceStoreTest.java b/src/test/java/KeyPersistenceStoreTest.java index 274ced7..713eb2a 100644 --- a/src/test/java/KeyPersistenceStoreTest.java +++ b/src/test/java/KeyPersistenceStoreTest.java @@ -1,12 +1,12 @@ import burp.config.KeysModel; import com.google.gson.Gson; -import one.d4d.sessionless.itsdangerous.Algorithms; -import one.d4d.sessionless.itsdangerous.Derivation; -import one.d4d.sessionless.itsdangerous.MessageDerivation; -import one.d4d.sessionless.itsdangerous.MessageDigestAlgorithm; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.GsonHelper; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.Algorithms; +import one.d4d.signsaboteur.itsdangerous.Derivation; +import one.d4d.signsaboteur.itsdangerous.MessageDerivation; +import one.d4d.signsaboteur.itsdangerous.MessageDigestAlgorithm; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.GsonHelper; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/OAuth2Test.java b/src/test/java/OAuth2Test.java index 9ee1f64..73c4a9d 100644 --- a/src/test/java/OAuth2Test.java +++ b/src/test/java/OAuth2Test.java @@ -1,7 +1,7 @@ -import one.d4d.sessionless.itsdangerous.crypto.OauthProxyTokenSigner; -import one.d4d.sessionless.itsdangerous.model.OauthProxySignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.itsdangerous.crypto.OauthProxyTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.OauthProxySignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/RubySignedCookieTest.java b/src/test/java/RubySignedCookieTest.java index 3e3cabe..c443aa3 100644 --- a/src/test/java/RubySignedCookieTest.java +++ b/src/test/java/RubySignedCookieTest.java @@ -1,7 +1,7 @@ -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.model.RubySignedToken; -import one.d4d.sessionless.keys.SecretKey; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.model.RubySignedToken; +import one.d4d.signsaboteur.keys.SecretKey; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/SignUnsignTest.java b/src/test/java/SignUnsignTest.java index 300e75d..35874d9 100644 --- a/src/test/java/SignUnsignTest.java +++ b/src/test/java/SignUnsignTest.java @@ -1,10 +1,10 @@ -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.itsdangerous.crypto.DangerousTokenSigner; -import one.d4d.sessionless.itsdangerous.model.DangerousSignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.itsdangerous.crypto.DangerousTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.DangerousSignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/src/test/java/TimestampTest.java b/src/test/java/TimestampTest.java index e39d0ac..91ff37e 100644 --- a/src/test/java/TimestampTest.java +++ b/src/test/java/TimestampTest.java @@ -1,4 +1,4 @@ -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertArrayEquals; diff --git a/src/test/java/TornadoTest.java b/src/test/java/TornadoTest.java index 4128b83..6a83eef 100644 --- a/src/test/java/TornadoTest.java +++ b/src/test/java/TornadoTest.java @@ -1,11 +1,11 @@ -import one.d4d.sessionless.itsdangerous.Attack; -import one.d4d.sessionless.itsdangerous.BruteForce; -import one.d4d.sessionless.itsdangerous.crypto.TornadoTokenSigner; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.itsdangerous.model.TornadoSignedToken; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.Attack; +import one.d4d.signsaboteur.itsdangerous.BruteForce; +import one.d4d.signsaboteur.itsdangerous.crypto.TornadoTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.itsdangerous.model.TornadoSignedToken; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/UnknownSignedTokenTest.java b/src/test/java/UnknownSignedTokenTest.java index f68b1f4..f0602eb 100644 --- a/src/test/java/UnknownSignedTokenTest.java +++ b/src/test/java/UnknownSignedTokenTest.java @@ -1,10 +1,10 @@ -import one.d4d.sessionless.itsdangerous.*; -import one.d4d.sessionless.itsdangerous.crypto.DjangoTokenSigner; -import one.d4d.sessionless.itsdangerous.model.SignedToken; -import one.d4d.sessionless.itsdangerous.model.SignedTokenObjectFinder; -import one.d4d.sessionless.itsdangerous.model.UnknownSignedToken; -import one.d4d.sessionless.keys.SecretKey; -import one.d4d.sessionless.utils.Utils; +import one.d4d.signsaboteur.itsdangerous.*; +import one.d4d.signsaboteur.itsdangerous.crypto.DjangoTokenSigner; +import one.d4d.signsaboteur.itsdangerous.model.SignedToken; +import one.d4d.signsaboteur.itsdangerous.model.SignedTokenObjectFinder; +import one.d4d.signsaboteur.itsdangerous.model.UnknownSignedToken; +import one.d4d.signsaboteur.keys.SecretKey; +import one.d4d.signsaboteur.utils.Utils; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test;