Skip to content

PortSwigger · Cross-Site Scripting (XSS) ​

Teoría completa en Hacking web → XSS.

Labs completados ​

#LabTipo
1Reflected XSS into HTML context with nothing encodedReflected XSS
2Stored XSS into HTML context with nothing encodedStored XSS
3DOM XSS in document.write sink using source location.searchDOM-based XSS

Lo que me llevo ​

  • Reflected: el buscador devuelve lo que escribo tal cual, así que <script>alert(1)</script> en la búsqueda se ejecuta.
  • Stored: el mismo payload en un comentario del blog se guarda y se ejecuta a cualquiera que abra el post.
  • DOM-based: el JavaScript de la página coge location.search y lo escribe con document.write dentro de un atributo src. Cierro el atributo y la etiqueta: "><svg onload=alert(1)>.

La clave en los tres: mirar en qué contexto acaba mi texto (HTML, atributo, JavaScript) y escapar de él.

Contenido propio con fines educativos. Sin flags ni material de exámenes.