No puede utilizar include()
para aprovechar LFI en dynamic RCE. Ya debería tener un archivo con código (es decir, evil-RCE-code.php
) en el sistema para llamar. Por ejemplo:
Si una aplicación pasa un parámetro enviado a través de una solicitud GET al PHP
función include () sin validación de entrada, el atacante puede intentar
ejecutar código distinto al que el desarrollador tenía en mente.
La URL a continuación pasa un nombre de página a la función include()
.
enlace
El archivo "evil-RCE-code.php" puede contener, por ejemplo, el phpinfo ()
función que es útil para obtener información sobre el
Configuración del entorno en el que se ejecuta el servicio web. Un
el atacante puede pedir a la aplicación que ejecute su código PHP usando el
siguiente petición:
enlace
Fuente ( Descargo de responsabilidad: Agregué la parte "-RCE-" para que sea más fácil ver dónde va el RCE. )
Eche un vistazo a esto para un enfoque diferente:
Un buen enfoque es utilizar la inclusión de archivos de la siguiente manera:
<?php define('MY_FILE_PATH','/var/www/htdocs/');require_once(APP_PATH
.'lib.php');?>
Ahora veamos otro ejemplo, consideremos el
página siguiente:
enlace
page1 es el archivo que se incluye dinámicamente en la página web, por
mirando la url anterior, podemos asumir que el backend sería
usando el siguiente código:
Y ahora imagine que el atacante cambia el valor de la variable "archivo" a
siguiente:
http://localhost/index.php?file=data:text/plain,<?php phpinfo();?>
LFI se puede convertir fácilmente a ejecución remota de código (RCE) de una manera
Más. Este nuevo protocolo de datos ha aparecido en PHP 5.2.0 y en versiones anteriores.
Las versiones no funcionarán. También PHP argumentará y no permitirá utilizar.
es si allow_url_include=off
lo que resulta en una divulgación de ruta completa.
Hay otras posibilidades de cómo se puede inyectar el código y luego
evaluado a través de los archivos de registro de apache, usando "/ proc" y otros. Sin un
duda, el uso inapropiado de funciones como file_get_contents(), readfile()
, entradas de entrada como php://input
, y otras representan un
amenaza también
Artículo completo
Más información de fondo y lectura