
Descripción
This lab contains a vulnerable image upload function. It doesn’t perform any validation on the files users upload before storing them on the server’s filesystem.
To solve the lab, upload a basic PHP web shell and use it to exfiltrate the contents of the file /home/carlos/secret. Submit this secret using the button provided in the lab banner.
You can log in to your own account using the following credentials: wiener:peter
Remote code execution via web shell upload writeup
Una vez iniciamos sesión, se nos muestra un formulario donde podemos subir un archivo:

Como nos pide el contenido de un archivo, y nos da la ruta directamente, nuestra web shell será así:
<?php echo file_get_contents('/home/carlos/secret'); ?>
Guardamos el archivo en formato .php y lo enviamos al servidor, una vez hecho, tendremos que acceder a la ruta, para poder ejecutar el código. Para encontrarla inspeccionamos la página web con ‘Click derecho -> Inspeccionar’ y seleccionamos la foto rota. En el camp ‘src’ encontraremos la ruta:

Ahora montamos la nueva ruta, en mi caso ‘https://0ab900e004ff700481816c1c003a00ab.web-security-academy.net/files/avatars/basic_shell.php’, obteniendo así un código:

Dándole a ‘Submit solution’ e introduciéndolo completaremos el laboratorio.