ppfuzz Un Fuzzer para Prototype Pollution
ppfuzz Un Fuzzer para Prototype Pollution

ppfuzz: Un Fuzzer para Prototype Pollution

La contaminación de prototipos (Prototype Pollution) es una vulnerabilidad de JavaScript que permite a un atacante añadir propiedades arbitrarias a prototipos de objetos globales, que luego pueden ser heredados por objetos definidos por el usuario.

ppfuzz es un fuzzer para escanear vulnerabilidades de contaminación de prototipos del lado del cliente escrita en Rust. A continuación, veamos cómo se usa.

Instalación

Binario

Simplemente, descarga un binario precompilado de la página de lanzamientos y ¡ejecútalo!

https://github.com/dwisiswant0/ppfuzz/releases

Fuente

NOTA

¡Rust debe estar instalado!

Usando cargo:

▶ cargo install ppfuzz
  • o

Construcción manual del ejecutable a partir del código fuente:

▶ git clone https://github.com/dwisiswant0/ppfuzz
▶ cd ppfuzz && cargo build --release
# binary file located at target/release/ppfuzz

Dependencias

ppfuzz utiliza chromiumoxide, que requiere tener instalado el navegador Chrome o Chromium. Si la variable de entorno CHROME está establecida, lo utilizará como ejecutable por defecto. En caso contrario, se buscan los nombres de archivo google-chrome-stable, chromium, chromium-browser, chrome y chrome-browser en los lugares estándar. Si eso falla, /Applications/Google Chrome.app/… (en MacOS) o el registro (en Windows).

https://github.com/mattsse/chromiumoxide

Demostración

Como puedes ver en la demo de arriba, ppfuzz intenta comprobar si hay vulnerabilidades de prototype-pollution añadiendo un objeto & consultas de puntero, si efectivamente es vulnerable: tomará la huella digital de los gadgets de script utilizados y luego mostrará información adicional de la carga útil que potencialmente podría escalar su impacto a XSS, bypass o inyección de cookies.

Uso de ppfuzz

Utilizar ppfuzz es bastante sencillo.

▶ ppfuzz -l FILE [OPTIONS]

Básico

Utiliza -l/–list para proporcionar la lista de entrada:

▶ ppfuzz -l FILE

También puedes proporcionar la lista usando la redirección de E/S:

▶ ppfuzz < FILE

o encadenarla desde la salida de otro comando:

▶ cat FILE | ppfuzz

Mostrar sólo objetivos vulnerables/suprimir un error:

▶ ppfuzz -l FILE 2>/dev/null

Opciones

Aquí están todas las opciones que soporta:

▶ ppfuzz -h
FlagDescripciónValor por defecto
-l, –listLista de URL de destino.
-c, –concurrencyEstablecer el nivel de concurrencia5
-t, –timeoutTiempo máximo de conexión (es)30
-h, –helpImprimir información de ayuda.
-V, –versionImprime información sobre la versión.
https://github.com/dwisiswant0/ppfuzz

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda