Estoy intentando escribir un PoC para el recorrido de la ruta usando un ataque de extensión hash en un sitio PHP. Mi obstáculo está en especificar una cadena aceptable. La vulnerabilidad está en la URL:
http://127.0.0.1/download.php?file=file.txt&hash=[the valid md5 hash]
Estoy intentando imprimir /etc/passwd
usando esto:
http://127.0.0.1/download.php?file=file.txt��/../../../etc/passwd&hash=[extended valid hash]
El backend primero verifica si el MD5 proporcionado es válido y luego imprime el archivo solicitado. Estoy usando las funciones de PHP fopen
y fread
para eso.
Puedo crear hashes válidos para cadenas arbitrarias pero PHP falla con el siguiente error:
Advertencia :
fopen()
espera que el parámetro 1 sea una ruta válida, cadena dada en/var/www/html/download.php
Nota: Los caracteres ��
en la URL se deben al relleno MD5 de la extensión de hash.