Por lo que entiendo en PHP '/ etc / passwd /' o '/etc/passwd/./././' debe tratarse de la misma manera que '/ etc / passwd'
Estoy usando PHP 5.4 y esto no parece ser cierto:
php -r "include ('/ etc / passwd');"
funciona bien pero
php -r "include ('/ etc / passwd /');"
Advertencia: include (/ etc / passwd /): no se pudo abrir la transmisión: no existe tal archivo o Directorio en el código de línea de comando en la línea 1
Advertencia: include (): error al abrir '/ etc / passwd /' para inclusión (include_path = '.:') en el código de línea de comando en la línea 1
Lo mismo es cierto para:
php -r "include ('/ etc /./././ passwd');"
funciona!
php -r "include ('/ etc /./././ passwd /');"
Advertencia: incluya (/ etc /./././ passwd /): no se pudo abrir la transmisión: no existe archivo o directorio en el código de línea de comando en la línea 1
Advertencia: include (): Error al abrir '/etc/./././passwd/' para inclusión (include_path = '.:') en el código de línea de comando en la línea 1
no funciona!
¿Alguien puede hacerme saber si estoy haciendo algo mal o si se solucionó el problema de truncamiento de ruta?