Skip to content

DOM-based open redirection

[20251011231331.png]

[20251011231356.png]

[20251011231600.png]

c
                        <a href='#' onclick='returnUrl = /url=(https?:\/\/.+)/.exec(location); location.href = returnUrl ? returnUrl[1] : "/"'>Back to Blog</a>

Explíquemelos mejor:

  1. onclick - Se ejecuta cuando haces clic en el enlace
  2. /url=(https?:\/\/.+)/.exec(location)
    • Busca en la URL actual un patrón que coincida con url=http://... o url=https://...
    • https? significa "http" o "https" (la "s" es opcional)
    • \/\/.+ captura todo lo que viene después de "😕/"
  3. returnUrl ? returnUrl[1] : "/"
    • Si encontró una URL (returnUrl existe), toma el primer grupo capturado ([1]) que sería la URL
    • Si NO encontró ninguna URL, redirige a la página principal ("/")
  4. location.href = ... - Redirige a la URL resultante

Entendiendo esto, podemos poner nuestro sitio malicioso para que redirige:

c
https://0ac8001a035f3c2180fd3fa8002000ac.web-security-academy.net/post?postId=5&url=http://0jk9p49vepyta2iv9gqmqf7qhhn8byzn.oastify.com#

[20251011232622.png]

Ahora, hacemos click en Back to Blog y nos redirige al sitio web que nosotros podemos controlar

[20251011232646.png]

[20251011232711.png]

Ahora podemos enviar a la victima con la url de malicioso del laboratorio.