
JWT Key Confusion PoC (CVE-2015-9235) は、Hack the Box チャレンジ - Under Construction 向けに作成されました。
Hack the Box チャレンジ「Under Construction」および「Secret」向けに作成
両方のスクリプトは、Java Web Token キー混同攻撃 (CVE-2015-9235) を実行します。
攻撃を実行するには、攻撃者がサーバーが署名の検証に使用する公開鍵を知っており、かつサーバーがHS256アルゴリズムを使用するように設定されている必要があります。 HS256は対称鍵アルゴリズムであるため(同じ鍵がメッセージの署名と検証に使用されます)、公開鍵を使って改ざんされたトークンに署名できます。 Webサーバーは公開鍵を知っているため、改ざんされたトークンを受信したときにそれを検証できます。

python3 jwt-9235.py [-h] [token_location] [claim_key] [claim_value]
positional arguments:
token_location location of JWT token (must include 'pk' payload)
claim_key payload claim to target
claim_value new claim value
optional arguments:
-h, --help show this help message and exit
引数が指定されない場合、アプリケーションはトークンファイル ./token を探し、username クレームをターゲットとし、クレーム値を ' or 1=1;-- に置き換えます。
pip install hashlib hmac base64 json argparse colorama