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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/thomasfady/cve-2020-25867
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubthomasfady/cve-2020-25867

CVE-2020-25867

CVE-2020-25867 の概念実証エクスプロイト。PHP の型ジャグリングを利用して SoPlanning カレンダーの共有キー認証をバイパスすることを示しています。

リポジトリを見る
4年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2020-25867 : SoPlanning 共有キーのバイパス

情報

  • 脆弱性のあるバージョン : 1.46.01
  • 修正バージョン : 1.47 以上
  • CVE : CVE-2020-25867

タイムライン

  • 26/06/2020 : この脆弱性レポートがベンダーに送信されました
  • 21/07/2020 : 脆弱性が修正されました

リスク

共有キーシステムはPHP型ジャグリング攻撃に対して脆弱であり、攻撃者は共有キーを知らなくてもカレンダーのコンテンツにアクセスできます。

必要条件

脆弱性が存在するには、カレンダーの共有キーが有効になっている必要があります。

EnableSharingKey

この共有が有効になると、ユーザーは共有キーを使用して認証なしでカレンダーにアクセスできます。

NormalBehavior

もちろん、キーが誤っていればアクセスは拒否されます。

悪用方法

キーの検証はファイル "includes/header.inc" にあります。

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if (strcmp($_GET['cle'],CONFIG_SECURE_KEY)==0)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}

strcmp 関数が非厳密比較で使用されています。この比較の結果は以下の内容に依存します:PHP型比較表

strcmp 関数の結果はドキュメントに記載されています:strcmp

str1 が str2 より小さい場合は < 0、str1 が str2 より大きい場合は > 0、等しい場合は 0 を返します。

この関数はパラメータのいずれかが配列の場合、"NULL" を返します。

PHP型比較表 によると、"NULL" と 0 の非厳密比較は true です。

したがって、$_GET['cle'] が配列の場合、条件の結果は true になり、アクセスが許可されます。

このリンクは $_GET['cle'] を配列として定義します: https://demo.soplanning.org/planning.php?public=1&cle[]=

Exploit

アクセスは "Invité" として許可されます。

修正方法

この脆弱性を修正するには、厳密比較を使用できます:

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if (strcmp($_GET['cle'],CONFIG_SECURE_KEY)===0)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}

または、strcmp 関数を使わずに比較を行うこともできます。

root@kitploit:~
if ( CONFIG_SOPLANNING_OPTION_ACCES == 2 && isset($_GET['public']) && isset($_GET['cle']))
{
  if ($_GET['cle'] === CONFIG_SECURE_KEY)
  {
    $_SESSION['public']=1;
    $_SESSION['user_id']='publicspl';
  }
}
ツールをダウンロード