Communityコーディング&開発github.com

yaklang/jwt-oauth-token-attacks

JWTおよびOAuthトークン攻撃のプレイブック。トークンの信頼性検証、署名アルゴリズム、鍵管理、クレームの悪用、ベアラーフロー、OAuthアカウント紐付けの脆弱性を確認する際に使用します。

jwt-oauth-token-attacks とは?

このスキルは、JWTおよびOAuthトークンに関連するセキュリティ脆弱性を体系的に検証・攻撃するためのプレイブックです。トークンの署名アルゴリズムの検証、秘密鍵の管理ミス、クレームの改ざん、ベアラートークンの漏洩、OAuthアカウント紐付けの弱点など、実際のセキュリティテストで直面する一般的な問題を網羅しています。主にyaklangプラットフォーム向けに設計されており、開発者やセキュリティ研究者がトークンベースの認証システムを評価する際に役立ちます。このスキルは、攻撃ベクトルを理解し、適切な防御策を実装するための具体的な手順とコード例を提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/jwt-oauth-token-attacks

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

jwt-oauth-token-attacks は何をしますか?

JWTおよびOAuthトークン攻撃のプレイブック。トークンの信頼性検証、署名アルゴリズム、鍵管理、クレームの悪用、ベアラーフロー、OAuthアカウント紐付けの脆弱性を確認する際に使用します。

概要

このスキルは、JWT(JSON Web Token)とOAuth 2.0トークンに関連する一般的なセキュリティ攻撃を実行するための実践的なガイドです。以下の領域をカバーします:

  • 署名アルゴリズムの検証(noneアルゴリズム、アルゴリズム混同攻撃など)
  • 秘密鍵の管理ミス(弱い鍵、露出した鍵、鍵の再利用)
  • クレームの改ざんと権限昇格
  • ベアラートークンのインターセプトとリプレイ
  • OAuthアカウント紐付けの脆弱性(CSRF、リダイレクトURI操作)

対象プラットフォーム

このスキルは、以下のプラットフォームで使用されるツールと互換性があります:

  • yaklang:Yak言語ベースのセキュリティテストフレームワーク
  • Burp Suite:プロキシツールとの連携
  • Postman / curl:手動テスト用

使用方法

# yaklangスクリプトの例
jwt_attack:
  target: "https://example.com/api"
  token: "eyJhbGciOiJIUzI1NiIs..."
  attack: "none_algorithm"

またはCLIから直接:

yak run jwt-attack --target https://example.com --token <token>

攻撃の種類

1. 署名アルゴリズム攻撃

  • noneアルゴリズム:ヘッダーのalgフィールドをnoneに変更
  • アルゴリズム混同:RS256からHS256への切り替え(公開鍵をHMAC秘密鍵として使用)

2. 鍵管理攻撃

  • 弱い秘密鍵:jwt-crackerなどのツールを使用したブルートフォース
  • 鍵の露出:ソースコードや設定ファイルからの鍵抽出

3. クレーム操作

  • subクレームの改ざん:ユーザーIDの変更による権限昇格
  • expクレームの無効化:有効期限の延長

4. OAuthアカウント紐付け攻撃

  • CSRF:stateパラメータの欠如または固定
  • リダイレクトURI操作:許可されていないリダイレクト先への転送

防御策

  1. 署名アルゴリズムをホワイトリスト方式で検証する
  2. 強力な秘密鍵を使用し、定期的にローテーションする
  3. すべてのクレームをサーバー側で検証する
  4. OAuthフローではCSRFトークン(state)を必須にする
  5. リダイレクトURIを厳密に検証する

参考リンク

ライセンス

このプロジェクトはMITライセンスの下で公開されています。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

関連スキル