Įtraukimo direktyva ir vykdymo direktyva yra serverio pusės įtraukimo (SSI) funkcijos, leidžiančios dinamišką turinį įtraukti į žiniatinklio programas. Tačiau jie skiriasi savo funkcionalumu ir galimomis saugumo pasekmėmis, ypač SSI injekcijos atakų kontekste. Šiame paaiškinime apžvelgsime šių dviejų direktyvų skirtumus ir pabrėšime jų reikšmę žiniatinklio programų saugumo srityje.
SSI įtraukimo direktyva naudojama išorinio failo turiniui įtraukti į tinklalapį. Paprastai jis naudojamas įtraukti įprastus elementus, tokius kaip antraštės, poraštės arba naršymo meniu keliuose puslapiuose, taip skatinant kodo pakartotinį naudojimą ir priežiūrą. Įtraukimo direktyvos sintaksė yra tokia:
Virtualus atributas nurodo kelią į failą, kurį reikia įtraukti. Šis kelias gali būti absoliutus arba santykinis su dabartiniu tinklalapiu. Įtraukti direktyvą apdoroja žiniatinklio serveris prieš pateikiant puslapį klientui, o įtraukto failo turinys įterpiamas tiesiai į puslapį.
Kita vertus, SSI vykdomoji direktyva leidžia vykdyti išorinę programą arba scenarijų serveryje. Tai leidžia dinamiškai generuoti turinį pagal vykdomos programos išvestį. Exec direktyvos sintaksė yra tokia:
Atributas cmd nurodo kelią į programą arba scenarijų, kurį reikia vykdyti. Tada programos išvestis įtraukiama į tinklalapį vykdymo direktyvos vietoje. Svarbu pažymėti, kad exec direktyva kelia didesnę saugumo riziką, palyginti su direktyva įtraukti, nes ji leidžia savavališkai vykdyti kodą serveryje.
SSI injekcijos atakų kontekste tampa svarbūs skirtumai tarp įtraukimo ir vykdymo direktyvų. SSI injekcija yra pažeidžiamumo tipas, atsirandantis, kai vartotojo pateikta įvestis nėra tinkamai išvalyta ir yra tiesiogiai įtraukta į SSI direktyvas. Užpuolikai gali išnaudoti šį pažeidžiamumą ir suleisti kenkėjiškas SSI direktyvas, dėl kurių gali būti neteisėta prieiga, duomenų nutekėjimas ar net nuotolinis kodo vykdymas.
Kai užpuolikas įterpia kenkėjišką SSI kodą naudodamas įtraukimo direktyvą, poveikis apsiriboja įtraukto failo turiniu. Pavyzdžiui, jei užpuolikas įveda direktyvą įtraukti failą, kuriame yra neskelbtinos informacijos, jis gali gauti tą informaciją. Tačiau užpuolikas valdo tik įtraukto failo turinį ir jie negali vykdyti savavališkų komandų serveryje.
Kita vertus, jei užpuolikas įveda kenkėjišką SSI kodą naudodamas exec direktyvą, jis gali vykdyti savavališkas komandas serveryje. Tai gali turėti rimtų pasekmių, pavyzdžiui, sugadinti visą serverį arba pradėti tolesnius atakas prieš kitas sistemas. Pavyzdžiui, užpuolikas gali įvesti direktyvą vykdyti komandą, kuri ištrina svarbius failus arba sukuria atvirkštinį apvalkalą, suteikdamas jiems neteisėtą prieigą prie serverio.
SSI įtraukimo direktyva naudojama išorinių failų turiniui įtraukti į tinklalapius, skatinant kodo pakartotinį naudojimą. Tai kelia mažesnę saugumo riziką, palyginti su exec direktyva, nes neleidžia savavališkai vykdyti kodo. Kita vertus, exec direktyva leidžia vykdyti išorines programas ar scenarijus, todėl jie yra galingesni, bet ir pavojingesni. Tai leidžia savavališkai vykdyti kodą ir gali sukelti rimtų saugumo pažeidimų, jei jis nėra tinkamai apsaugotas.
Kiti naujausi klausimai ir atsakymai apie bWAPP – Server-Side Include SSI injekcija:
- Kokie yra skirtingi bWAPP, skirto SSI injekcijai, saugos lygiai ir kaip jie veikia pažeidžiamumą ir išnaudojimo procesą?
- Kaip užpuolikas gali išnaudoti SSI injekcijos spragas, kad įgytų neteisėtą prieigą arba vykdytų kenkėjišką veiklą serveryje?
- Kaip žiniatinklio kūrėjai gali analizuoti tinklalapį dėl SSI injekcijos pažeidžiamumų?
- Kas yra serverio įtraukimo (SSI) injekcija ir kaip ji taikoma žiniatinklio programoms?

