9 populiarūs žiniatinklio programų injekcijų atakų tipai

Žiniatinklio programų problema ta, kad jomis atvirai susiduria milijardai interneto vartotojų, iš kurių daugelis norės nutraukti savo saugumo priemones dėl bet kokių priežasčių.


Ankstyvomis interneto dienomis vienas iš labiausiai paplitusių puolimo būdų buvo pagrindinė, paprasta brutalioji jėga. Botai dažniausiai vykdė šias atakas – arba asmenims, turintiems daug laisvo laiko – kurie bandė daugybę žaidimų vardų ir slaptažodžių derinių, kol rado tokį, kuris suteiktų prieigą prie tikslinės programos..

Žiaurios jėgos išpuoliai nebekelia grėsmės dėl slaptažodžio politikos, ribotų prisijungimo bandymų ir „captchas“. Tačiau kibernetiniai nusikaltėliai mėgsta atrasti naujus išnaudojimus ir panaudoti juos naujo tipo išpuoliams vykdyti. Seniai jie atrado, kad programų ar tinklalapių teksto laukai gali būti išnaudojami įvedant į juos ar įleidžiant netikėtą tekstą, kuris priverstų programą daryti tai, ko neturėjo daryti. Tokiu būdu į įvykio vietą pateko vadinamosios injekcijų atakos.

Įpurškimo išpuoliai gali būti naudojami ne tik norint prisijungti prie programos nežinant vartotojo vardo ir slaptažodžio, bet ir atskleisti privačią, konfidencialią ar neskelbtiną informaciją ar net užgrobti visą serverį. Štai kodėl šie išpuoliai kelia grėsmę ne tik interneto programoms, bet ir vartotojams, kurių duomenys yra tose programose, o blogiausiu atveju – kitoms prijungtoms programoms ir paslaugoms..

Kodo injekcija

Kodo injekcija yra viena iš labiausiai paplitusių injekcijų atakų rūšių. Jei užpuolikai žino programavimo kalbą, pagrindus, duomenų bazę ar operacinę sistemą, kurią naudoja interneto programa, jie gali įvesti kodą per teksto įvesties laukus, kad priverstų žiniatinklio serverį daryti tai, ko jie nori.

Tokio tipo injekcijų priepuoliai galimi programoms, kurioms trūksta įvesties duomenų patvirtinimo. Jei teksto įvesties lauke vartotojai gali įvesti ką nori, tada programa yra potencialiai išnaudojama. Norėdami išvengti šių atakų, programa turi apriboti tiek, kiek gali įvesti įvesties vartotojai.

Pavyzdžiui, jis turi apriboti tikėtinų duomenų kiekį, prieš priimdamas juos patikrinti duomenų formatą ir apriboti leidžiamų simbolių rinkinį.

Kodo įpurškimo pažeidžiamumus galima lengvai rasti, tiesiog išbandžius žiniatinklio programos teksto įvestį su skirtingo tipo turiniu. Kai jie randami, pažeidžiamumą sunku išnaudoti. Tačiau kai užpuolikui pavyksta išnaudoti vieną iš šių pažeidžiamumų, tai gali apimti konfidencialumo, vientisumo, prieinamumo ar programos funkcionalumo praradimą..

SQL injekcija

Panašiai kaip ir kodo įpurškimas, ši ataka įterpia SQL scenarijų – kalbą, kuria dauguma duomenų bazių naudoja užklausos operacijas – į teksto įvesties lauką. Scenarijus siunčiamas programai, kuri jį vykdo tiesiogiai savo duomenų bazėje. Dėl to užpuolikas gali praeiti per prisijungimo ekraną arba atlikti pavojingesnius veiksmus, pavyzdžiui, skaityti neskelbtinus duomenis tiesiai iš duomenų bazės, modifikuoti ar sunaikinti duomenų bazės duomenis arba atlikti administratoriaus operacijas duomenų bazėje..

Dėl senesnių funkcinių sąsajų PHP ir ASP programos yra linkusios į SQL injekcijų atakas. J2EE ir ASP.Net programos paprastai yra labiau apsaugotos nuo šių išpuolių. Kai bus rastas SQL injekcijos pažeidžiamumas – ir juos galima lengvai rasti – galimų atakų mastą riboja tik užpuoliko įgūdžiai ir vaizduotė. Taigi SQL injekcijos atakos poveikis yra neabejotinai didelis.

Komandinė injekcija

Šios atakos taip pat yra įmanomos, daugiausia dėl nepakankamo įvesties patvirtinimo. Jie skiriasi nuo kodo įpurškimo atakų tuo, kad užpuolikas įterpia sistemos komandas, o ne programinio kodo dalis ar scenarijus. Todėl įsilaužėliui nereikia žinoti programavimo kalbos, kuria paremta programa, arba kalbos, kuria naudojasi duomenų bazė. Bet jie turi žinoti operacinę sistemą, kurią naudoja prieglobos serveris.

Įdėtas sistemos komandas vykdo pagrindinė operacinė sistema su programos privilegijomis, kurios galėtų leisti atskleisti serveryje esančių savavališkų failų turinį, parodyti serverio katalogo struktūrą, pakeisti vartotojo slaptažodžius, be kita ko.

Šias atakas gali užkirsti sysadminas, ribodamas serveryje veikiančių žiniatinklio programų sistemos prieigos lygį.

Skirtingų svetainių scenarijai

Kai programa įtraukia vartotojo įvestį duomenis į generuojamą išvestį, nepatvirtindama ir nekoduojant, ji suteikia galimybę užpuolikui nusiųsti kenksmingą kodą kitam galutiniam vartotojui. „Cross-Site Scripting“ (XSS) išpuoliai pasinaudoja šiomis galimybėmis į patikimas svetaines įleisti kenksmingus scenarijus, kurie galiausiai siunčiami kitiems programos vartotojams, kurie tampa užpuoliko aukomis..

Aukų naršyklė vykdys kenksmingą scenarijų nežinodama, kad juo neturėtų būti pasitikima. Todėl naršyklė leis jai pasiekti sesijos žetonus, slapukus ar slaptą informaciją, kurią saugo naršyklė. Tinkamai užprogramuojant, scenarijai netgi galėtų perrašyti HTML failo turinį.

XSS atakas paprastai galima suskirstyti į dvi skirtingas kategorijas: saugomas ir atspindimas.

Į saugomi XSS atakų metu, kenkėjiškas scenarijus nuolat būna tiksliniame serveryje, pranešimų forume, duomenų bazėje, lankytojų žurnale ir kt. Auka jį gauna, kai jos naršyklė prašo išsaugotos informacijos. Į atsispindi XSS atakų metu, kenkėjiškas scenarijus atsispindi atsakyme, į kurį įtraukiama į serverį siunčiama įvestis. Pavyzdžiui, tai gali būti klaidos pranešimas arba paieškos rezultatas.

XPath injekcija

Tokio tipo išpuoliai yra galimi, kai žiniatinklio programa naudoja vartotojo pateiktą informaciją, kad sukurtų „XPath“ užklausą XML duomenims. Šios atakos veikimas yra panašus į SQL įpurškimą: užpuolikai siunčia netinkamai suformuotą informaciją programai, kad išsiaiškintų, kaip XML duomenys yra struktūruoti, ir tada jie vėl puola prieiti prie tų duomenų..

„XPath“ yra standartinė kalba, kuria, kaip ir SQL, galite nurodyti atributus, kuriuos norite rasti. Norėdami atlikti užklausą dėl XML duomenų, žiniatinklio programos naudoja vartotojo įvestį ir nustato modelį, kurį duomenys turėtų atitikti. Siųsdamas netinkamą įvestį, modelis gali virsti operacija, kurią užpuolikas nori pritaikyti duomenims.

Skirtingai nuo to, kas atsitinka su SQL, „XPath“ programoje nėra skirtingų versijų. Tai reiškia, kad „XPath“ injekciją galima atlikti bet kurioje žiniatinklio programoje, kurioje naudojami XML duomenys, neatsižvelgiant į diegimą. Tai taip pat reiškia, kad ataka gali būti automatizuota; todėl, skirtingai nei SQL įvedimas, jis gali būti atleistas iš savavališko skaičiaus tikslų.

Pašto komandų injekcija

Šis atakų metodas gali būti naudojamas el. Pašto serveriams ir programoms, kurios sukuria IMAP arba SMTP teiginius su netinkamai įteisintais vartotojo duomenimis, išnaudoti. Kartais IMAP ir SMTP serveriai neturi stiprios apsaugos nuo atakų, kaip tai būtų daroma daugelyje žiniatinklio serverių, todėl gali būti labiau išnaudojami. Įeidami per pašto serverį, užpuolikai gali išvengti apribojimų, tokių kaip captchas, ribotas užklausų skaičius ir kt.

Norėdami išnaudoti SMTP serverį, užpuolikams reikia galiojančios el. Pašto paskyros, kad būtų galima siųsti pranešimus su įvestomis komandomis. Jei serveris yra pažeidžiamas, jis atsakys į užpuolikų prašymus, leisdamas jiems, pavyzdžiui, nepaisyti serverio apribojimų ir naudoti savo paslaugas šlamšto siuntimui..

IMAP injekcija daugiausia galėtų būti atliekama naudojant žiniatinklio pašto programas, naudojant pranešimų skaitymo funkciją. Tokiais atvejais ataką galima įvykdyti tiesiog įvedus į interneto naršyklės adreso juostą URL su suleistomis komandomis.

CRLF injekcija

Vežimėlio grąžinimo ir eilutės pateikimo simbolių – derinio, vadinamo CRLF – įterpimas žiniatinklio formos įvesties laukuose reiškia atakos metodą, vadinamą CRLF įpurškimu. Šie nematomi simboliai nurodo eilutės ar komandos pabaigą daugelyje tradicinių interneto protokolų, tokių kaip HTTP, MIME ar NNTP.

Pvz., CRLF įterpimas į HTTP užklausą ir tam tikras HTML kodas gali nusiųsti pasirinktinius tinklalapius svetainės lankytojams..

Ši ataka gali būti vykdoma pažeidžiamose žiniatinklio programose, kurios netaiko tinkamo filtravimo vartotojo įvestims. Šis pažeidžiamumas atveria duris kitoms injekcijų atakoms, tokioms kaip XSS ir kodo injekcijoms, taip pat gali atsirasti užgrobtoje svetainėje..

Injekcija pagrindinės kompiuterio antraštėje

Serveriuose, kuriuose yra daugybė svetainių ar žiniatinklio programų, pagrindinio kompiuterio antraštė tampa būtina norint nustatyti, kuri iš svetainių ar žiniatinklio programų, kurios yra žinomos kaip virtualioji priegloba, turėtų apdoroti gaunamą užklausą. Antraštės reikšmė nurodo serveriui, kuriam iš virtualiųjų kompiuterių išsiųsti užklausą. Kai serveris gauna netinkamą pagrindinio kompiuterio antraštę, jis paprastai perduoda jį pirmajam sąraše esančiam virtualiajam pagrindiniam kompiuteriui. Tai yra pažeidžiamumas, kurį užpuolikai gali naudoti norėdami išsiųsti savavališkas pagrindinio kompiuterio antraštes pirmajai virtualiai serverio serveriui.

Pagrindinio kompiuterio antraštės manipuliavimas paprastai susijęs su PHP programomis, nors tai galima padaryti ir su kitomis interneto svetainių kūrimo technologijomis. Pagrindinės antraštės išpuoliai veikia kaip įgalintuvai kitokio tipo išpuoliams, pavyzdžiui, apsinuodijimui interneto talpykla. Jos pasekmės gali būti užpuolikų atliktos jautrios operacijos, pavyzdžiui, slaptažodžio nustatymas iš naujo.

LDAP injekcija

LDAP yra protokolas, skirtas palengvinti išteklių (įrenginių, failų, kitų vartotojų) paiešką tinkle. Tai labai naudinga intranetams, o kai naudojama kaip vieno prisijungimo sistemos dalis, ji gali būti naudojama vartotojo vardams ir slaptažodžiams saugoti. LDAP užklausos apima specialių valdymo ženklų, turinčių įtakos jo valdymui, naudojimą. Užpuolikai gali pakeisti numatomą LDAP užklausos elgesį, jei į ją gali įterpti kontrolinius simbolius.

Vėlgi, pagrindinė problema, leidžianti vykdyti LDAP injekcijos atakas, yra netinkamai įteisinta vartotojo įvestis. Jei tekstas, kurį vartotojas siunčia programai, naudojamas kaip dalis LDAP užklausos, jos nedezinfekuojant, užklausa gali baigtis visų vartotojų sąrašo gavimu ir parodyti jį užpuolikui, tiesiog naudojant žvaigždutę (*) dešinėje. įdėkite įvesties eilutės vidų.

Injekcijų priepuolių prevencija

Kaip matėme šiame straipsnyje, visos injekcijų atakos nukreiptos į serverius ir programas, turinčias atvirą prieigą bet kuriam interneto vartotojui. Atsakomybė užkirsti kelią šioms atakoms paskirstoma programų kūrėjams ir serverių administratoriams.

Programų kūrėjai turi žinoti apie riziką, susijusią su netinkamu vartotojo įvestų duomenų įteisinimu, ir išmokti geriausios praktikos pavyzdžių, kaip išvalyti vartotojo indėlį siekiant išvengti rizikos. Serverio administratoriai turi periodiškai tikrinti savo sistemas, kad aptiktų spragas ir kuo greičiau jas ištaisytų. Yra daugybė variantų, kaip atlikti šiuos auditus, tiek pareikalavus, tiek automatiškai.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map