Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
some-tweak-to-hide-jwt-payload-values — 軽量なPythonライブラリで、XOR暗号化とタイムスタンプベースの鍵を使用してJWTペイロード値を難読化し、ユーザーIDなどの機密クレームのプレーンテキストデコードを防止します。 | Kitploit
ツール/GitHubGitHub/password123456/some-tweak-to-hide-jwt-payload-values
暗号化/復号化ツール認証学習と教育APIセキュリティ
GitHubpassword123456/some-tweak-to-hide-jwt-payload-values

some-tweak-to-hide-jwt-payload-values

軽量なPythonライブラリで、XOR暗号化とタイムスタンプベースの鍵を使用してJWTペイロード値を難読化し、ユーザーIDなどの機密クレームのプレーンテキストデコードを防止します。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
102年前未レビュー

JWTペイロード値を隠すためのちょっとした調整

made-with-python Python Versions Hits

  • JWTペイロードを保護し、値を絶えず変化させることでデコードの試みを無意味にし、デコード出力を解読不能にしつつ、パフォーマンスへの影響を最小限に抑えるためのいくつかの調整とアイデアです。

JWTトークンとは?

JSON Web Token(JWT、「ジョット」と発音)は、2つの当事者間でJSONメッセージを渡すためのコンパクトでURLセーフな方法です。RFC 7519で定義された標準です。トークンは長い文字列で、ドットで区切られた部分に分割されています。各部分はbase64 URLエンコードされています。

トークンの構成部分はJWTのタイプによって異なります。すなわち、JWS(署名付きトークン)かJWE(暗号化トークン)かです。トークンが署名されている場合、ヘッダー、ペイロード、署名の3つのセクションがあります。トークンが暗号化されている場合、ヘッダー、暗号化キー、初期化ベクトル、暗号文(ペイロード)、認証タグの5つの部分で構成されます。おそらくJWTの最も一般的なユースケースは、OAuthおよびOpenID ConnectフローでアクセストークンやIDトークンとして利用することですが、他の目的にも使用できます。

このコードスニペットの主な目的

このコードスニペットは、JWTトークンをデコードする際に、保存されたキーが平文で見えるペイロードセクションのセキュリティを強化することを目的とした調整の視点を提供します。通常、ペイロードセクションはJWTトークン(base64)からデコードすると平文で表示されます。主な目的は、ペイロードの値を軽く暗号化または難読化し、その意味を解読しにくくすることです。意図は、誰かがペイロード値をデコードしようとしても容易にできないようにすることです。

userid

  • コードスニペットは、例としてペイロードセクションに保存された「userid」という名前のキーを対象としています。
  • 「userid」の選択は、トークンの有効性を検証した後(例:有効期限が切れていないことの確認)、ユーザー識別や認証の目的で頻繁に使用されることに由来します。

「userid」という名前のキーの値を難読化しようとする背後にある考えは以下の通りです:

暗号化:

  • タイムスタンプはハッシュ化され、ユーザーIDとのビット単位XOR演算によって暗号化されます。
  • XOR演算は対称鍵を使用して実行されます。
  • 結果の値はBase64を使用してエンコードされます。

復号:

  • 暗号化データはBase64でデコードされます。
  • 復号は対称鍵とのXOR演算によって実行されます。
  • 元のユーザーIDとハッシュ化されたタイムスタンプが平文で明らかになります。
  • 「|」デリミタで分割してユーザーID部分を抽出し、関連する用途や目的に使用します。

XORエンコードのための対称鍵:

  • この鍵には様々な素材を利用できます。
  • 従来のパスワードハッシュで使用されるソルト、任意のランダム文字列、生成されたUUID、またはその他の適切な素材が考えられます。
  • ただし、この鍵はデータベース管理システム(DBMS)に安全に保存される必要があります。

そして..^^

root@kitploit:~
in the example, the key is shown as { 'userid': 'random_value' },
making it apparent that it represents a user ID.

However, this is merely for illustrative purposes.

In practice, a predetermined and undisclosed name is typically used.
For example, 'a': 'changing_random_value'

注意事項

  • このコードスニペットは教育目的で作成されており、本質的に安全というよりもアイデアの出発点として機能します。
  • 平文表示以上のセキュリティレベルを提供しますが、絶対的な安全性を保証するものではありません。

この方法を使用して生成されたJWTトークンを改ざんしようとするには、JWT秘密鍵とUserIDの作成に使用されたXOR対称鍵の両方へのアクセスが必要です。

そして...

  • これが役に立ったと思ったら、さらなる改善をサポートするために**「スター」**を付けてください。🌟

プレビュー

root@kitploit:~
# python3 main.py

- Current Unix Timestamp: 1709160368
- Current Unix Timestamp to Human Readable: 2024-02-29 07:46:08

- userid: 23243232
- XOR Symmetric key: b'generally_user_salt_or_hash_or_random_uuid_this_value_must_be_in_dbms'
- JWT Secret key: yes_your_service_jwt_secret_key

- Encoded UserID and Timestamp: VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo=
- Decoded UserID and Hashed Timestamp: 23243232|e27436b7393eb6c2fb4d5e2a508a9c5c

- JWT Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lc3RhbXAiOiIyMDI0LTAyLTI5IDA3OjQ2OjA4IiwidXNlcmlkIjoiVlZaY1VVRlRYMTRGT2tkRVVVRnBFVlpmVFd3S0VHa0xVeFVLYXd0SE9rQUFXMVJYREdZV1FBbz0ifQ.bM_6cBZHdXhMZjyefr6YO5n5X51SzXjyBUEzFiBaZ7Q
- Decoded JWT: {'timestamp': '2024-02-29 07:46:08', 'userid': 'VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo='}


# run again
- Decoded JWT: {'timestamp': '2024-02-29 08:16:36', 'userid': 'VVZcUUFTX14FaRNAVBRpRQcORmtWRGleVUtRZlYXaBZZCgYOWGlDR10='}
- Decoded JWT: {'timestamp': '2024-02-29 08:16:51', 'userid': 'VVZcUUFTX14FZxMRVUdnEgJZEmxfRztRVUBabAsRZkdVVlJWWztGQVA='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:01', 'userid': 'VVZcUUFTX14FbxYQUkM8RVRZEmkLRWsNUBYNb1sQPREFDFYKDmYRQV4='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:09', 'userid': 'VVZcUUFTX14FbUNEVEVqEFlaTGoKQjxZBRULOlpGPUtSClALWD5GRAs='}

img

ツールをダウンロード