local_file_inclusion
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| local_file_inclusion [2023/11/22 10:25] – zrinka | local_file_inclusion [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====Local file inclusion==== | ====Local file inclusion==== | ||
| - | **Napad uključenja lokalne datoteke (Local File Inclusion, LFI)** je napad koji prisiljava HTTP poslužitelj da u odgovor na zahtjev ugradi datoteku koja je pohranjena na napadnutom poslužitelju. | + | **Napad uključenja lokalne datoteke** (//Local File Inclusion//, LFI) napad je koji prisiljava HTTP poslužitelj da u odgovor na zahtjev ugradi datoteku koja je pohranjena na napadnutom poslužitelju. |
| Datoteka može izravno izvršiti neki maliciozan kod ili sadržavati osjetljive informacije | Datoteka može izravno izvršiti neki maliciozan kod ili sadržavati osjetljive informacije | ||
| kojima prosječan korisnik ne bi trebao imati pristup. | kojima prosječan korisnik ne bi trebao imati pristup. | ||
| Line 9: | Line 9: | ||
| nepročišćenog zahtjeva jer napadač može uključiti malicioznu datoteku. | nepročišćenog zahtjeva jer napadač može uključiti malicioznu datoteku. | ||
| - | Najčešće je pristuan | + | Najčešće je prisutan |
| koje primaju putanju do datoteke koja se uključuje u program. Ranjivost se javlja | koje primaju putanju do datoteke koja se uključuje u program. Ranjivost se javlja | ||
| kad nema provjere primljenog argumenta jer tada napadač može dobiti | kad nema provjere primljenog argumenta jer tada napadač može dobiti | ||
| Line 23: | Line 23: | ||
| parametar //page// nema nikakvu provjeru i pročišćavanje putanje. U ovom linku putanja je zadana relativno, dakle od trenutnog direktorija u kojem se nalazimo. Oznaka .. u toj putanji označava jedan direktorij | parametar //page// nema nikakvu provjeru i pročišćavanje putanje. U ovom linku putanja je zadana relativno, dakle od trenutnog direktorija u kojem se nalazimo. Oznaka .. u toj putanji označava jedan direktorij | ||
| iznad. Budući da //page// parametar nema nikakvu provjeru koliko se daleko korisnik | iznad. Budući da //page// parametar nema nikakvu provjeru koliko se daleko korisnik | ||
| - | može pomicati prema gore, napdač bi to mogao iskoristiti tako da | + | može pomicati prema gore, napadač bi to mogao iskoristiti tako da |
| se popne čak četiri direktorija iznad trenutnoga. Korisnik je u ovome primjeru došao | se popne čak četiri direktorija iznad trenutnoga. Korisnik je u ovome primjeru došao | ||
| - | do korjenskog | + | do korijenskog |
| U tome direktoriju nalazi se etc direktorij koji u Linux sustavima | U tome direktoriju nalazi se etc direktorij koji u Linux sustavima | ||
| sadrži sve informacije vezane uz konfiguraciju sustava, uključujući korisnike | sadrži sve informacije vezane uz konfiguraciju sustava, uključujući korisnike | ||
| Line 40: | Line 40: | ||
| U ovom slučaju datoteka koju dohvaćamo ima predefiniranu ekstenziju .php pa | U ovom slučaju datoteka koju dohvaćamo ima predefiniranu ekstenziju .php pa | ||
| ne možemo jednostavno poslati drugu datoteku u zahtjevu. Jedan od načina zaobilaženja | ne možemo jednostavno poslati drugu datoteku u zahtjevu. Jedan od načina zaobilaženja | ||
| - | je tzv. Null Byte Injection, odnosno na kraju nazica | + | je tzv. Null Byte Injection, odnosno na kraju naziva |
| < | < | ||
| http:// | http:// | ||
| Line 46: | Line 46: | ||
| - | __**PRIMJER**__ **Zadatak | + | __**PRIMJER**__ **Zadatak |
| < | < | ||
| Ivica je zaključio kako je za njegov daljnji razvoj karijere neophodno naučiti PHP te prebaciti | Ivica je zaključio kako je za njegov daljnji razvoj karijere neophodno naučiti PHP te prebaciti | ||
| Line 58: | Line 58: | ||
| </ | </ | ||
| - | Ulaskom na stranicu i pritiskom | + | Ulaskom na stranicu i pritiskom na "O meni" primjećujemo da se ime stranice pojavljuje u URL-u u parametru // |
| Line 69: | Line 69: | ||
| {{ : | {{ : | ||
| - | Važno je primijetiti da su na početku dodane oznake za odlazak u naddirektorij (..) jer bez njih Local file inclusion ne bi funkcionirao. Korisnik se uobičajeno nikad neće naći u usr direktoriju jer njemu ne | + | Važno je primijetiti da su na početku dodane oznake za odlazak u naddirektorij (..) jer bez njih Local file inclusion ne bi funkcionirao. Korisnik se uobičajeno nikad neće naći u //usr// direktoriju jer njemu ne |
| bi uopće trebao imati pristup. | bi uopće trebao imati pristup. | ||
| - | __**PRIMJER**__ **Zadatak | + | __**PRIMJER**__ **Zadatak |
| < | < | ||
| Petru je bilo dosadno tijekom ljetnih praznika, i odlučio je napraviti jednostavnu web stranicu. | Petru je bilo dosadno tijekom ljetnih praznika, i odlučio je napraviti jednostavnu web stranicu. | ||
| Nije bio siguran kako bi pokrenuo svoju stranicu i gdje bi ju posluživao, | Nije bio siguran kako bi pokrenuo svoju stranicu i gdje bi ju posluživao, | ||
| - | računalo gdje se nalaze razne datoteke. Petar ima Linux računalo i odlučio je posluživati svoju stranicu | + | računalo gdje se nalaze razne datoteke. Petar ima Linux računalo i odlučio je posluživati svoju stranicu |
| - | pomoću Apache HTTP servera. Petar je sebi napravio račun na stranici kao admin i njime se služi kad god | + | pomoć Apache HTTP servera. Petar je sebi napravio račun na stranici kao admin i njime se služi kad god |
| želi pristupiti stranici. Stranica nije skroz gotova i postoje neke greške, ali Petar je jako ponosan nju | želi pristupiti stranici. Stranica nije skroz gotova i postoje neke greške, ali Petar je jako ponosan nju | ||
| i siguran je da nije napravio nikakav propust. | i siguran je da nije napravio nikakav propust. | ||
| Line 87: | Line 87: | ||
| {{ : | {{ : | ||
| - | Ako se pokušamo ulogirati kao administrator, | + | Ako se pokušamo ulogirati kao administrator, |
| / | / | ||
| Line 94: | Line 94: | ||
| {{ : | {{ : | ||
| - | Izvori: | + | ===Izvori=== |
| [1] https:// | [1] https:// | ||
| [2] https:// | [2] https:// | ||
| [3] https:// | [3] https:// | ||
local_file_inclusion.1700648700.txt.gz · Last modified: 2025/12/01 11:40 (external edit)