Sto provando a scrivere un PoC per l'attraversamento del percorso utilizzando l'attacco dell'estensione hash su un sito PHP. Il mio ostacolo è nello specificare una stringa accettabile. La vulnerabilità è nell'URL:
http://127.0.0.1/download.php?file=file.txt&hash=[the valid md5 hash]
Sto provando a stampare /etc/passwd
usando questo:
http://127.0.0.1/download.php?file=file.txt��/../../../etc/passwd&hash=[extended valid hash]
Il back-end controlla prima se l'MD5 fornito è valido e poi stampa il file richiesto. Sto usando le funzioni PHP fopen
e fread
per quello.
Sono in grado di creare hash validi per stringhe arbitrarie, ma PHP non riesce con il seguente errore:
Warning:
fopen()
expects parameter 1 to be a valid path, string given in/var/www/html/download.php
Nota: i caratteri ��
nell'URL sono dovuti al padding MD5 dell'estensione hash.