ソース:
脆弱性:JWT
訳:
JWTとは何ですか?
安全に送信するために使用されるトークンと単純に理解できます これは、関係者間で情報を JSON オブジェクトとして にも使用されます 。 これは認可 。
現時点で知っておく必要があるのはこれだけです。
定義をさらに詳しく知りたい場合に備えて、この記事の詳細へのリンクを提供します。
JWT トークンはどのように見えるのでしょうか?
JWT は次の構造に従います:-
Base64(Header).Base64(Data).Base64(Signature). JWT are storage mechanism for data. It provides security mechanism as :-
- Encryption
- Signature
JWT の整合性を保証するために使用される署名メソッド:-
- RSA
- HMAC
- Elliptic curves
- None
アルゴリズムを強調したのはなぜですか NONE ? この脆弱性のリアルタイムの例を共有するときは、しばらくするとわかります。
ここまでで、この JWT が正確に何なのかについての基本的な考え方を理解していただけたと思います。
JWTの弱点を見つけるにはどうすればよいですか?
示します 実際の例を 私がそれを段階的に行った 。
ステップ 1:- アプリケーションにログインし、リクエストを Burp スイートに受け取りました。
ご覧のとおり、私は現在 ethicalkaps としてログインしています。
auth= value は、上ですでに説明した JWT 構造に従っているため、興味深いことに気付きました。
ステップ 2:- 次に、値をデコードして Decoder に送信しようとしました。
ステップ 3:- ここで使用されている暗号化アルゴリズムは HS256 であることに気付きました。
また、ログインパラメータには ユーザー名が 反映されていました。 そこで、両方を別の値に操作することを考えました。
例:- HS256 -> なし & ethicalkaps -> 管理者。
何かが起こった場合に気づくため。
ステップ 4:- 次に、(操作された)Base 64 値全体をコピーし、Cookie 値に貼り付けました。 応答が 200 OK であることに気付きました。
ステップ 5:- 応答は 200 OK でしたが。
しかし、 残念ながら 。 ログインできませんでした 管理者のアカウントに ことを考えました。 そこで、 JWT の署名を削除する
ステップ 6:- ブーーン!!!! 管理者のアカウントを悪用して乗っ取ることに成功しました😍✌
それでこれでした! ということで、なんとかadminアカウントを引き継ぐことができました。
方法だとも言えます あるいは、これが倫理的な kaps が になった 管理者 昇格させて 特権を 😅
ほなほな。