Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Spletni strežniki gostijo datoteke (spletne strani, slike, videe, obrazce itd.), ki sestavljajo vašo spletno aplikacijo, in te datoteke strežejo, ko nekdo obišče vaše spletno mesto. Nekateri strežniki so naprednejši in tudi nadzorujejo, koliko dostopa imajo spletni obiskovalci. Rednim obiskovalcem lahko omejijo dostop do računov ali skrbniških nadzornih plošč drugih uporabnikov. Čeprav so spletni strežniki učinkoviti pri tem, kar počnejo – in to počnejo precej varno – lahko napadalci izkoristijo napake, ki izhajajo iz človeške napake ali napačne logike v tem, kako strežnik služi datotekam, ki jih gosti.

Kaj je napad LFI?

Napad z vdorom v lokalne datoteke (LFI) se zgodi, ko napadalci izkoristijo ranljivosti v tem, kako spletni strežnik shranjuje, streže, preverja veljavnost ali nadzoruje dostop do svojih datotek. Ta ranljivost je pogosta pri spletnih mestih, ki temeljijo na PHP.

instagram viewer

Za razliko od mnogih oblik kibernetskih napadov, kjer se napadalci zanašajo na zlonamerno programsko opremo, da poškodujejo aplikacijo, se napadalci v LFI večinoma zanašajo na premetene trike in kratke vrstice kode. To redko zahteva sofisticirana orodja ali kompleksne skripte; napadi se običajno zgodijo v spletnem brskalniku. Najpogostejši trik, ki ga napadalci uporabljajo, je spreminjanje niza URL s kodo, potmi do datotek ali imeni datotek.

Kako se zgodijo napadi LFI?

LFI napadi se običajno zgodijo v štirih fazah.

Najprej napadalec identificira spletno mesto PHP, na katerem se izvaja ranljiva spletna aplikacija, običajno z zagonom osnovne kode v URL-ju brskalnika, da preveri, ali spletna aplikacija (tj. spletno mesto) obravnava ukaz. Zamislite si to kot pritiskanje kombinacij tipk na igralnem krmilniku za odklepanje velikonočnega jajca – recimo, da pritisnete tipko navzdol za vstop v tunele v Super Mariu. Toda ukazi, ki jih napadalci izvajajo v napadih LFI, so bolj dosledni kot preverjanje vsakega tunela v Super Mariu.

Spletna aplikacija ali strežnik, ki je bil nepravilno konfiguriran ali ne more potrditi vnosov, bo izvedel zlonamerno kodo. Od tu lahko heker pridobi dostop in privilegij, ki ga potrebuje za branje ranljivih datotek ali nalaganje zlonamernih datotek na strežnik.

Večina napadov LFI povzroči, da napadalec dostopa do občutljivih informacij. Možnost nalaganja zlonamerne programske opreme je redko uspešna, ker ni nobenega zagotovila, da bo spletna aplikacija shranila datoteko na isti strežnik, kjer obstaja ranljivost LFI. To se pogosto zgodi, če je spletna aplikacija v okolju z več strežniki.

Torej, če ranljivost LFI obstaja na strežniku, ki gosti slike, ne pa na strežniku, ki shranjuje zaposlene poverilnic ali uporabniških gesel, bi imel napadalec dostop samo do slikovnih datotek na tem ranljivem strežniku. Ne glede na to, kibernetske dogodke, kot je napad na LastPass kažejo, da lahko hekerji povzročijo škodo z na videz najbolj nepomembno stopnjo dostopa.

Kako preprečiti napade LFI

Napadi LFI so glede na Odprite varnostni projekt spletne aplikacije (OWASP). Razumljivo je, da bi bili hekerji naklonjeni temu napadu, saj kot W3Techs Po poročilih skoraj osem od 10 spletnih mest uporablja PHP kot programski jezik na strani strežnika – tako rekoč obilica žrtev. Napad LFI je mogoče preprečiti s sprejetjem najboljših praks spletne varnosti.

Bele liste javnih strežnikov

Spletne aplikacije pogosto uporabljajo poti datotek kot vnose URL-jev. Hekerji lahko izkoristijo ta zbirni sistem tako, da spremenijo del URL-ja, ki je tudi pot do datoteke. Napadalec se lahko na primer spremeni https://dummywebsite.com/?module=contact.php do https://dummywebsite.com/?module=/etc/passwd. Ranljiv strežnik s slabim filtriranjem in napačno logiko bo prikazal vsebino datoteke, shranjene na poti /etc/passwd.

Seveda hekerji uporabljajo različice običajnih imen datotek in kombinacije poizvedbenih znakov, da povečajo možnosti za uspešen napad. Cilj je pretentati spletno aplikacijo, da zažene skript ali prikaže datoteke na spletnem strežniku.

To ranljivost lahko blokirate tako, da na svojem strežniku ustvarite seznam dovoljenih javnih dokumentov in spletni aplikaciji naročite, naj prezre poizvedbe za vsak drug dokument ali pot do datoteke. Torej, če napadalec poskuša manipulirati z URL-jem, da zahteva ali izvaja kode, ki zahtevajo zasebno, bo namesto tega prejel stran z napako.

Pogosto testirajte ranljivosti

Lahko uporabiš orodja za spletno skeniranje da poiščete in odpravite ranljivosti, ki bi vas lahko izpostavile napadom LFI. Skenerji spletnih aplikacij so avtomatizirana orodja, ki preiščejo vašo aplikacijo kot napadalec in vas opozorijo na morebitne ranljivosti. Obstaja več odprtokodnih spletnih skenerjev, kot sta OpenVAS in Wireshark, vendar je večina skenerjev ranljivosti lastniška programska oprema in za uporabo potrebujejo plačljive pakete.

Seveda pa spletnega skenerja ne dobite samo za napade LFI. Ta orodja iščejo tudi širše varnostne ranljivosti, kot je oddaljena vključitev datoteke, skriptiranje med spletnimi mesti, vbrizgavanje SQL in slabe konfiguracije strežnika. Torej so vredni tega.

Omejite privilegije obiskovalcev spletnega mesta

Hekerji pogosto uspešno izvedejo napade LFI, ker spletne aplikacije ne razdelijo uporabniških privilegijev in s tem omogočijo obiskovalcem dostop do datotek, ki bi morale biti vidne le skrbnikom. Ta ukrep deluje kot dodajanje na seznam dovoljenih: konfigurirajte svojo spletno aplikacijo in strežnik tako, da služita javnim datotekam in ne upoštevata nepooblaščenih zahtev, ko obiskovalec komunicira s spletno aplikacijo. To je še posebej pomembno za poizvedbe do poti datotek, ki vsebujejo občutljive datoteke.

V ta namen boste morda morali preprečiti neposredno spreminjanje poti datotek. Spletna aplikacija naj streže samo dokumente s trdo kodiranega seznama poti. Poleg tega konfigurirajte spletno aplikacijo za obdelavo zahtev z dinamičnim združevanjem poti (URL-ji morajo vsebovati alfanumerične znake) namesto funkcij base64 ali bin2hex.

Če razmišljate o uvrstitvi imen datotek na črni seznam, tega ne storite. Hekerji imajo običajno vedno večji seznam imen datotek, ki jih lahko uporabijo za izvedbo napada LFI. Poleg tega je praktično nemogoče (in ogromna izguba časa) na črni seznam virov, ki se nenehno povečujejo napada.

Uporabite večstrežniško okolje

Večstrežniško okolje vam omogoča izolacijo pomembnih občutljivih dokumentov iz javnih datotek in tako zmanjša tveganje v primeru kršitve. Namenski strežniki so manj ranljivi za napade LFI, ker se njihove konfiguracije razlikujejo, čeprav delujejo skupaj.

Poleg te varnosti je več strežnikov tudi zanesljivih (z manjšimi tveganji izpadov), hitrih in učinkovitih. Res je, da uporaba okolja z več strežniki ni stroškovno učinkovita, če je vaše spletno mesto majhno. V tem primeru razmislite o razdelitvi dostopa vaše spletne aplikacije do podatkov med bazo podatkov za zasebne podatke in strežnik za javne datoteke.

Bi vas morali skrbeti napadi LFI?

Obstaja možnost napada LFI, še posebej, če vaše spletno mesto deluje na PHP, vendar lahko zmanjšate svojo izpostavljenost s konfiguracijo spletnih aplikacij in strežnikov v skladu z najboljšimi praksami spletne varnosti.

Poleg tega bi morali razmisliti o izvajanju rutinskih varnostnih pregledov, da bi našli ranljivosti. Stvari se ves čas pokvarijo, zlasti ko postane arhitektura spletnega mesta zapletena. Orodja, ki jih boste potrebovali, da se zaščitite, so avtomatizirana in mnoga ne zahtevajo dodelane nastavitve ali naprednega tehničnega znanja.