JSON Webトークンの脆弱な秘密

high Web App Scanning プラグイン ID 112697

概要

JSON Webトークンの脆弱な秘密

説明

JSON Web トークンは、データ改ざんから保護するために署名できます。非対称または対称署名アルゴリズムを使用することで、アプリケーションはトークンデータの署名を処理します。署名はトークンのデコード中に検証され、整合性が確保されます。対称アルゴリズムを使用する場合、署名は選択された HMAC 関数と秘密鍵から作成されます。

脆弱なキーを使用すると、ブルートフォース攻撃に対して脆弱になり、アプリケーションに代わってトークンを操作および署名できるようになります。トークンの使用方法によっては、攻撃者がこの脆弱性を利用して有効なトークンを偽造し、他のユーザーになりすましたり、さらに権限を取得したりする可能性があります。

ソリューション

ブルートフォース攻撃で取得されないように、アプリケーションで JSON Web トークンに署名するために使用される秘密鍵は、より強力 (長くランダム) である必要があります。注意: JSON Web アルゴリズム標準 (RFC 7518) では、HMAC アルゴリズムで使用されるハッシュ関数のサイズ (ビット単位) と等しくなるように、最小キー長を定義しています。

参考資料

https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html

https://medium.com/101-writeups/hacking-json-web-token-jwt-233fe6c862e6

https://medium.com/swlh/hacking-json-web-tokens-jwts-9122efe91e4a

https://research.securitum.com/jwt-json-web-token-security/

プラグインの詳細

深刻度: High

ID: 112697

タイプ: remote

ファミリー: Web Applications

公開日: 2021/2/11

更新日: 2024/1/3

スキャン テンプレート: api, basic, full, pci, scan

リスク情報

VPR

リスクファクター: Low

スコア: 3.6

CVSS v2

リスクファクター: High

基本値: 7.8

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: High

基本値: 7.5

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

CVSS スコアのソース: Tenable

参照情報