tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Angalia maelezo kamili ya mbinu hii katika https://gynvael.coldwind.pl/download.php?f=PHP_LFI_rfc1867_temporary_files.pdf
Upakiaji wa Faili za PHP
Wakati injini ya PHP inapokea POST request inayojumuisha faili zilizopangwa kulingana na RFC 1867, inaunda faili za muda kuhifadhi data iliyopakiwa. Faili hizi ni muhimu kwa usimamizi wa upakiaji wa faili katika skripti za PHP. Kazi ya move_uploaded_file
lazima itumike kuhamasisha faili hizi za muda kwenye eneo lililotakiwa ikiwa uhifadhi wa kudumu zaidi ya utekelezaji wa skripti unahitajika. Baada ya utekelezaji, PHP kwa otomatiki inafuta faili zozote za muda zilizobaki.
note
Tahadhari ya Usalama: Washambuliaji, wakijua eneo la faili za muda, wanaweza kutumia udhaifu wa Local File Inclusion ili kutekeleza msimbo kwa kufikia faili wakati wa upakiaji.
Changamoto ya kupata ufikiaji usioidhinishwa inapatikana katika kutabiri jina la faili la muda, ambalo limekusudiwa kubadilishwa.
Utekelezaji kwenye Mifumo ya Windows
Katika Windows, PHP inaunda majina ya faili za muda kwa kutumia kazi ya GetTempFileName
, na kusababisha muundo kama <path>\<pre><uuuu>.TMP
. Kwa kuzingatia:
- Njia ya kawaida ni kawaida
C:\Windows\Temp
. - Kichwa ni kawaida "php".
<uuuu>
inawakilisha thamani ya kipekee ya hexadecimal. Kwa umuhimu, kutokana na kikomo cha kazi, ni sehemu ya chini ya bits 16 pekee zinazotumika, na kuruhusu majina 65,535 ya kipekee kwa njia na kichwa kisichobadilika, na kufanya nguvu ya kikatili iwezekane.
Zaidi ya hayo, mchakato wa utekelezaji unarahisishwa kwenye mifumo ya Windows. Upekee katika kazi ya FindFirstFile
inaruhusu matumizi ya wildcards katika njia za Local File Inclusion (LFI). Hii inaruhusu kuunda njia ya kujumuisha kama ifuatavyo ili kutafuta faili ya muda:
http://site/vuln.php?inc=c:\windows\temp\php<<
Katika hali fulani, maski maalum zaidi (kama php1<<
au phpA<<
) inaweza kuhitajika. Mtu anaweza kujaribu maski hizi kwa mfumo wa kawaida ili kugundua faili ya muda iliyopakiwa.
Ukatili kwenye Mifumo ya GNU/Linux
Kwa mifumo ya GNU/Linux, uhalisia katika kutunga majina ya faili za muda ni thabiti, na kufanya majina hayo yasitabiriki wala kuwa na hatari ya mashambulizi ya nguvu. Maelezo zaidi yanaweza kupatikana katika hati iliyorejelewa.
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.