File upload
Tipo de extensiones
Php
.php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module
asap
.asp, .aspx, .config, .ashx, .asmx, .aspq, .axd, .cshtm, .cshtml, .rem, .soap, .vbhtm, .vbhtml, .asa, .cer, .shtml
perl
.pl, .cgi
jsp
.jsp, .jspx, .jsw, .jsv, .jspf, .wss, .do, .action
Coldfusion
.cfm, .cfml, .cfc, .dbm
Flash
.swf
Erlang
.yaws
PHP código básico Linux
Poweshell código básico
Bypass extensiones
Comprobar que poniendo mayúsculas y minuscalas: .pHp, .jSp, pHp5 etc.
Comprobar que poniendo una extensión de más: file.jpg.php, file.png.pHP
Exiftool
Incrustamos un PHP
Incrustamos un XSS
Bypass WAF
Si nos encontramos con un firewall que tiene bloqueadas las funciones como system(),exec(),exec_shell(), lo que podemos hacer es pasarlo a hexadecimal.
Ejemplo
Si pasamos system a hexadecimal, mediante un convertor:
Le añadimos una x delante de cada numero y un separador con \:
¿Cómo saber si un WAF tiene estás funciones no permitidas?
Tenemos que subir el archivo .php con lo siguiente phpinfo();
Al hacer la petición tendremos que ir a la sección Core --> Directive buscamos disable_functions.
PHP getimagesize()
Para los archivos que se suben que validan el archivo congetimagesize()
es posible ejecutar una shell insertando el atributo comentario a la imagen y guardandolo como .png.php, si no funciona así prueba al revés .php.png.
GIF Header
También podemos probar de hace run bypass con el header de gif, subimos un gif le dejamos el header "GIF89a;", quitamos la info del gif y ponemos el monkey pentest o la shell.php.
Ejemplo
File Upload into XXE
Podemos incluir XML malicioso cuando subimos una imagen SVG, cambiando el contenido de la imagen SVG, por los payloads de abajo:
Last updated