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-2022-24999 — "qs" Prototype-Poisoning-Schwachstelle ( CVE-2022-24999 ) | Kitploit
Tools/GitHubGitHub/9pings/cve-2022-24999
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheit
GitHub9pings/cve-2022-24999

CVE-2022-24999

"qs" Prototype-Poisoning-Schwachstelle ( CVE-2022-24999 )

Repository anzeigen
83vor 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-2022-24999

Dieses Repository enthält Exploit-Beispiele der Sicherheitslücke, die wir im Dezember 2021 in der JS-Bibliothek "qs" gefunden haben.

  • Diese Sicherheitslücke wurde in express v4.17.3 & qs v6.10.3, v6.9.7, v6.8.3, v6.7.3, v6.6.1, v6.5.3, v6.4.1, v6.3.3 und v6.2.4 behoben.

qs Array & String Bombs

Verwundbare Versionen von "qs" erlauben das Erstellen von "proto"-Eigenschaften auf den ausgegebenen JS-Objekten.

Indem wir ein Array in die "__ proto__"-Eigenschaft setzten, konnten wir "array-ähnliche" Objekte erzeugen.

Da die resultierenden Objekte den "Array"-Prototyp erben, legen sie die nativen Array-Funktionen offen.

Da sie aber immer noch Objekte sind, erlaubt "qs" das Setzen der "length"-Eigenschaft auf ihnen.

Als Beispiel erzeugt das folgende Payload diese Art von "bösartigem" Array:

root@kitploit:~
categories[_proto__]&categories[_proto__]&categories[length]=100000000

Daher wird das Setzen eines unverhältnismäßigen "length"-Werts auf ihnen den Node-Prozess einfrieren, sobald er versucht, sie in Zeichenfolgenwerte zu konvertieren oder die meisten nativen Array-Funktionen aufzurufen.

Dies legt jede Node-Anwendung offen, die eine verwundbare Version von "qs" mit der Standard-Express-Konfiguration und ohne ein starkes Validierungssystem verwendet, gegenüber anwendungsbezogenen DOS-Angriffen.

Hier ein Beispiel-Log des PoC in ./express-qs-string-bomb:

root@kitploit:~
Send payload :  someString[_proto__]&someString[_proto__]&someString[length]=100000000
[server] Received params  { someString: Array { length: '100000000' } }
[server] Run someString + 0
[server] someString + 0 : 6.364s
[server] Run someString == "123" 
[server] someString == "123" : 6.387s
[server] just write `Got ${someString}`
[server] just write `Got ${someString}` : 6.397s

Andere ausnutzbare Verhaltensweisen

Unsere Analyse zeigte uns auch, dass andere Ausnutzungsmodi möglich waren.

Einige davon beschreiben wir im Verzeichnis ./qs-vulns.

Danksagungen

BRAUN Nathanael & BRISSAUD Johan
Für EY Security, Frankreich

Tool herunterladen