Es posible si lo uso en la barra de direcciones de este
host.com?<?php unlink("/img/bg.jpg");?>
o
host.com?<?php rename("/bg.jpg","bg.png");?>
si no, ¿hay alguna forma de hacerlo?
Es posible si lo uso en la barra de direcciones de este
host.com?<?php unlink("/img/bg.jpg");?>
o
host.com?<?php rename("/bg.jpg","bg.png");?>
si no, ¿hay alguna forma de hacerlo?
Lamentablemente, sí, o muy cerca, pero solo debido a errores y / o configuraciones erróneas . Para las instalaciones de PHP CGI, fue recientemente una ejecución remota arbitraria de código usando la cadena de consulta: CVE-2012-1823
Escrito detallado por Eindbazen que lo descubrió en un CTF de Nullcon: enlace
Hay un módulo Metasploit para aprovechar esto también.
La respuesta es no, al menos probablemente no. Tanto el servidor web como el intérprete de PHP son lo suficientemente inteligentes como para no pasar tales valores generados por el usuario a través de algo que puede ejecutarse, en circunstancias normales. La clave es 'circunstancias normales' aquí. Podría haber una vulnerabilidad en el software del servidor que lo permita, pero probablemente no sería tan simple como muestra su ejemplo.
Suponiendo que el desarrollador que escribe una aplicación hizo algo estúpido y habilitó la evaluación dinámica de PHP contra una entrada no validada, entonces sí, podría ser posible hacer lo que estás pidiendo. Además, incluso si se tratara de una entrada validada, un atacante podría evitarla si es lo suficientemente inteligente. La evaluación / ejecución de código dinámico es mala el 99% del tiempo.
Lea otras preguntas en las etiquetas php