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-2021-44906 — Proof-of-Concept für CVE-2021-44906, das Prototype Pollution in minimist durch eine Function.prototype-Umgehung demonstriert, mit ausführbaren Beispielen und detaillierter technischer Analyse der Exploit-Kette. | Kitploit
Tools/GitHubGitHub/nevermoe/cve-2021-44906
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationLernen & Bildung
GitHubnevermoe/cve-2021-44906

CVE-2021-44906

Proof-of-Concept für CVE-2021-44906, das Prototype Pollution in minimist durch eine Function.prototype-Umgehung demonstriert, mit ausführbaren Beispielen und detaillierter technischer Analyse der Exploit-Kette.

Repository anzeigen
vor 2 JahrenNoch 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-2021-44906

Original von: https://github.com/Marynk/JavaScript-vulnerability-detection/blob/main/minimist%20PoC.zip

Ausführen

root@kitploit:~
npm run hack

Und Sie werden sehen, dass die done-Eigenschaft jeder Funktion auf true gesetzt wird. Die Erklärung der Befehlszeile node index.js --_.concat.constructor.prototype.done true:

  • -- ist der Bindestrich, der normalerweise in Befehlszeilenargumenten verwendet wird.
  • _ ist der eingebaute Schlüssel in minimist: https://github.com/minimistjs/minimist/blob/v1.2.5/index.js#L37
  • .concat.constructor.prototype.done true setzt _.concat.constructor.prototype.done auf true. Da _.concat.constructor vom Typ Function ist, wird dem Prototyp aller Function-Objekte eine Eigenschaft namens done hinzugefügt.

Der Grund, warum die Prototypkette so lang ist, ist, dass der Entwickler in früheren Fixes __proto__, Arrary.prototype, Object.prototype, Number.prototype und String.prototype gesperrt hat. Daher müssen wir constructor verwenden, der eine Prototype-Eigenschaft besitzt und nicht auf der schwarzen Liste steht.

Ein weiteres Beispiel ist:

root@kitploit:~
npm run hack2

Allerdings können wir in den obigen beiden Beispielen nur Werte manipulieren, nicht die Definition von Funktionen.

Ursache

Im Fix für CVE-2020-7598 (1.2.2) und in 1.2.3 hat der Entwickler bereits einige Schwachstellen behoben, indem er __proto__, Arrary.prototype, Object.prototype, Number.prototype, String.prototype überprüft hat, aber sie haben vergessen, Function.prototye zu überprüfen. Deshalb kann dieser Exploit nur die Eigenschaft von Function beeinflussen. Für den Fix dieser CVE hat der Entwickler sowohl Function.prototype als auch constructor überprüft: https://github.com/minimistjs/minimist/blob/v1.2.6/index.js#L73

Tool herunterladen