Path traversal & file inclusion
Path traversal
Null byte
Omite la adición de caracteres al final de la cadena proporcionada.
Local File Inclusion (LFI)
Payloads
Linux/Unix
Windows
SecLists
Fuerza bruta
Wfuzz
-u = URL.
<target> = objetivo.
FUZZ = la palabra
FUZZ
será reemplazada con los valores de la wordlist.
-w = wordlist.
<path-wordlist-lfi> = ruta de wordlist Local File Inclusion (LFI).
--hw 0 = ocultar respuestas con 0 (cero) palabras.
-c = output con colores.
FFuF
-u = URL.
<target> = objetivo.
FUZZ = la palabra
FUZZ
será reemplazada con los valores de la wordlist.
-w = wordlist.
<path-wordlist> = ruta de wordlist.
PHP wrappers
Wrapper php://filter
Wrapper data://
Es posible utilizar este wrapper solo si la opción allow_url_include
está habilitada en la configuración de PHP.
Local File Inclusion (LFI) a Remote Code Execution (RCE)
Wrapper expect://
Este wrapper está deshabilitado de forma predeterminada.
Wrapper input://
Es posible utilizar este wrapper solo si la opción allow_url_include
está habilitada en la configuración de PHP.
Wrapper data://
Es posible utilizar este wrapper solo si la opción allow_url_include
está habilitada en la configuración de PHP.
Ejemplo de web shell (base64).
Ejemplo de reverse shell (base64).
File upload
1) Wrapper zip://
Generación de archivo .zip
con web shell.
Subir archivo webshell.zip
al servidor web objetivo.
Es posible hacer referencia a los archivos dentro del archivo webshell.zip
con el simbolo #
.
2) Archivo de imagen.
Generación de archivo webshell.gif
con web shell.
Subir archivo webshell.gif
al servidor web objetivo y realizar su ejecución desde el Local File Inclusion (LFI) identificado.
3) Wrapper phar://
Generación de archivo .phar
desde webshell.php
y cambio de extensión a .jpg
.
Subir archivo webshell.jpg
al servidor web objetivo y realizar su ejecución desde el Local File Inclusion (LFI) identificado.
Log poisoning
Archivos de logs:
/var/log/apache2/access.log
/var/log/nginx/access.log
/var/log/sshd.log
/var/log/mail
/var/log/vsftpd.log
/proc/self/environ
Archivos de sesión de PHP
Rutas de almacenamiento de archivos de sesión de PHP:
/var/lib/php/sessions/
C:\Windows\Temp
Ejemplo para PHPSESSID
con valor ujllfv2j2sm7ae11is401hvdf9
.
Modificación de alguno de los valores almacenados en la sesión por:
Ejecución de comandos.
Remote File Inclusion (RFI)
Para incluir un archivo remoto en PHP, las opciones allow_url_fopen
(habilitada de forma predeterminada) y allow_url_include
deben estar activadas en la configuración.
Remote File Inclusion (RFI) a Remote Code Execution (RCE)
Creación de webshell.
HTTP
Habilitación de servidor HTTP para compartir el archivo webshell.php
.
Ejecución de comandos.
FTP
Habilitación de servidor FTP para compartir el archivo webshell.php
.
Ejecución de comandos.
SMB
Cuando la aplicación se ejecuta en Windows, las restricciones aplicadas por allow_url_include
pueden omitirse mediante el uso del protocolo SMB. Esto se debe a que Windows trata los archivos de los servidores SMB remotos como archivos normales, a los que se puede hacer referencia directamente con una ruta UNC (Universal Naming Convention).
Habilitación de servidor SMB para compartir el archivo webshell.php
.
Ejecución de comandos.
Metasploit
Última actualización