Entrada

XSS Lab 16

XSS Lab 16

Skills

  • Reflected XSS with some SVG markup allowed

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio tiene una vulnerabilidad XSS reflejada simple. El sitio está bloqueando las etiquetas comunes, pero omite algunas etiquetas SVG y eventos. Para resolver el laboratorio, debemos realizar un ataque de cross-site scripting que llame a la función alert()


Resolución

Al acceder a la web nos sale esto

En este laboratorio, se bloquean varias etiquetas como <img> y custom tags. Podemos utilizar esta cheat sheet https://portswigger.net/web-security/cross-site-scripting/cheat-sheet para encontrar tags que podamos ejecutar. Para ello, vamos a efectuar un ataque de fuerza bruta con Burp Suite. Lo primero es buscar un valor mediante el cuadro de búsqueda, capturar la petición con Burp Suite y enviarla al intruder.

Lo que debemos hacer es dirigirnos al cheat sheet y pulsar sobre Copy tags to clipboard y pegarlos en la lista de payloads de Burpsuite

Una vez hecho esto pulsamos sobre Start attack y filtramos por Status code

El tag que más me llama la atención es <svg>, ahora el siguiente paso el bruteforcear los eventos que podemos usar. Para ello lo primero que tenemos que tenemos hacer insertar este payload <svg onload=alert(1)> en el cuadro de búsqueda y capturar la petición con Burpsuite

Los siguiente que debemos hacer es irnos a la cheat sheet, pulsar en Copy event to clipboard, copiar estos payloads en el Burpsuite igual que hemos hecho antes e iniciar el ataque. Una vez hecho esto vemos que solo podemos usar el atributo onbegin

Nos vamos a la cheat sheet nuevamente y filtramos por svg > animatetransform

Nos copiamos el payload <svg><animatetransform onbegin=alert(1) attributeName=transform>, lo pegamos en el cuadro de búsqueda y explotamos el XSS

Esta entrada está licenciada bajo CC BY 4.0 por el autor.