タグ

JWTとセキュリティに関するshigeaki1jpのブックマーク (4)

  • node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita

    JWTの検証プログラムに対する有名な攻撃手法にalg=none攻撃があります。JWTのalgクレーム(署名アルゴリズム)としてnone(署名なし)を指定することにより、署名を回避して、JWTのクレームを改ざんする手法ですが、手法の解説は多いもの、脆弱なスクリプトのサンプルが少ないような気がしています。そこで、node.js用の著名なJWTライブラリであるjsonwebtokenを使った簡単なサンプルにより、alg=none攻撃の解説を試みます。 なお、jsonwebtokenの最新版では今回紹介した攻撃方法は対策されているため、以下のサンプルでは古いjsonwebtokenを使っています。 alg=none攻撃とは よく知られているように、JWTは以下のように3つのパートからなり、それぞれのパートはBase64URLエンコードされています。ヘッダとペイロードはエンコード前はJSON形式です

    node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita
  • [2023-01-31 12:00 JST 更新] JWTのシークレットポイズニングに関する問題

    2019年1月30日 PST 脆弱性の悪用シナリオの前提条件に関するコミュニティからのフィードバックを受け、私たちはAuth0と協力してCVE-2022-23529を撤回することを決定しました。 稿で解説したセキュリティの問題はJsonWebTokenライブラリが安全でない方法で使用された場合には依然として懸念されるものです。そのシナリオでは、すべての前提条件を満たせばこの問題を悪用できる可能性があります。私たちは、その場合のリスクの大元はライブラリ側でなく呼び出し側のコードにあることに同意します。 この問題に対処するためJsonWebTokenのコードには重要なセキュリティチェックが追加されました。 jsonwebtoken 8.5.1以前のバージョンをお使いの場合は最新版の9.0.0にアップデートすることをお勧めします。最新版では同セキュリティ問題を含む問題を修正済みで、より安全な

    [2023-01-31 12:00 JST 更新] JWTのシークレットポイズニングに関する問題
  • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

    こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味CTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

    攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
  • JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife

    おはようございます、ritouです。 (⚠️認可イベントの識別子のあたり、ちょっと見直しました!最初に見ていただいた方はもう一回どうぞ!) 前回、ハイブリッド型と呼ばれる OAuth 2.0 のトークン実装について書きました。 ritou.hatenablog.com その続きとして JWT(JWS) + RDBでできる実装例を紹介します。 理解するにはそれなりの OAuth 2.0 に関する知識が必要になるかもしれませんが、よかったら参考にしてみてください。 何を考えたのか OAuth 2.0のRefresh Token, Access Tokenを考えます。 要件から整理しましょう。 要件 結構ありますが、最低限の OAuth 2.0 の Authorization Server を実装しようと思ったらこれぐらいはやらないといけないでしょう。 RFC6750 で定義されている Bear

    JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife
  • 1