DOM-based open redirection
![[20251011231331.png]](/assets/20251011231331.DEqa8nPn.png)
![[20251011231356.png]](/assets/20251011231356.0mSbXohY.png)
![[20251011231600.png]](/assets/20251011231600.De4XgRvl.png)
c
<a href='#' onclick='returnUrl = /url=(https?:\/\/.+)/.exec(location); location.href = returnUrl ? returnUrl[1] : "/"'>Back to Blog</a>Explíquemelos mejor:
onclick- Se ejecuta cuando haces clic en el enlace/url=(https?:\/\/.+)/.exec(location)- Busca en la URL actual un patrón que coincida con
url=http://...ourl=https://... https?significa "http" o "https" (la "s" es opcional)\/\/.+captura todo lo que viene después de "😕/"
- Busca en la URL actual un patrón que coincida con
returnUrl ? returnUrl[1] : "/"- Si encontró una URL (
returnUrlexiste), toma el primer grupo capturado ([1]) que sería la URL - Si NO encontró ninguna URL, redirige a la página principal (
"/")
- Si encontró una URL (
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]](/assets/20251011232622.piNjJg0O.png)
Ahora, hacemos click en Back to Blog y nos redirige al sitio web que nosotros podemos controlar
![[20251011232646.png]](/assets/20251011232646.DjYIziDo.png)
![[20251011232711.png]](/assets/20251011232711.fLwn2zfc.png)
Ahora podemos enviar a la victima con la url de malicioso del laboratorio.