4.7 KiB
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Proverite sve detalje ove tehnike na https://gynvael.coldwind.pl/download.php?f=PHP_LFI_rfc1867_temporary_files.pdf
PHP Uploadovanje fajlova
Kada PHP engine primi POST zahtev koji sadrži fajlove formatirane prema RFC 1867, generiše privremene fajlove za skladištenje uploadovanih podataka. Ovi fajlovi su ključni za upravljanje uploadom fajlova u PHP skriptama. Funkcija move_uploaded_file
mora biti korišćena da bi se premestili ovi privremeni fajlovi na željenu lokaciju ako je potrebno trajno skladištenje izvan izvršenja skripte. Nakon izvršenja, PHP automatski briše sve preostale privremene fajlove.
{% hint style="info" %} Bezbednosno upozorenje: Napadači, koji su svesni lokacije privremenih fajlova, mogu iskoristiti ranjivost lokalnog uključivanja fajlova (LFI) da izvrše kod pristupanjem fajlu tokom uploada. {% endhint %}
Izazov za neovlašćeni pristup leži u predviđanju imena privremenog fajla, koje je namerno nasumično.
Eksploatacija na Windows sistemima
Na Windows-u, PHP generiše imena privremenih fajlova koristeći funkciju GetTempFileName
, što rezultira šablonom poput <putanja>\<pre><uuuu>.TMP
. Napomena:
- Podrazumevana putanja je obično
C:\Windows\Temp
. - Prefiks je obično "php".
<uuuu>
predstavlja jedinstvenu heksadecimalnu vrednost. Bitno je napomenuti da zbog ograničenja funkcije, koriste se samo nižih 16 bita, što omogućava maksimalno 65.535 jedinstvenih imena sa konstantnom putanjom i prefiksom, čime se omogućava brute force napad.
Osim toga, proces eksploatacije je pojednostavljen na Windows sistemima. Posebnost u funkciji FindFirstFile
omogućava upotrebu džokera u putanjama lokalnog uključivanja fajlova (LFI). Ovo omogućava kreiranje putanje za uključivanje kao što je sledeće da bi se locirao privremeni fajl:
http://site/vuln.php?inc=c:\windows\temp\php<<
U određenim situacijama može biti potrebna specifičnija maska (poput php1<<
ili phpA<<
) . Može se sistematski isprobavati ove maske kako bi se otkrili privremeni uploadovani fajlovi.
Eksploatacija na GNU/Linux sistemima
Za GNU/Linux sisteme, nasumično generisana imena privremenih fajlova su sigurna i ne mogu se predvideti niti napasti brute force tehnikom. Dodatne detalje možete pronaći u referentnoj dokumentaciji.
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu u HackTricks-u ili preuzmete HackTricks u PDF formatu Pogledajte SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.