Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu. Loe rohkem.

Süstimisrünnakud on üks levinumaid viise, kuidas häkkerid süsteeme ründavad, kuna see võimaldab neil hõlpsalt käivitada paljusid käske ja koode. OS-i käsusüst on üks selline süstimisrünnak, millest peate teadlik olema. See kasutab ära haavatavust, mida süsteemi-, andmebaasi- ja veebirakenduste administraatorid peaksid väga tõsiselt võtma.

Mis on siis OS-i käsusüstimise rünnak?

OS-i käsusüsti definitsioon

OS-i käsusüst võimaldab pahatahtlikul ründajal käivitada mis tahes käsku, mida nad soovivad, kasutades ära haavatavat operatsioonisüsteemi, programmi, rakendust, andmebaasi või pistikprogrammi. See juhtub siis, kui rakendused ei suuda korralikult kinnitada ja puhastada parameetreid, mida nad kasutavad shellifunktsioonide, näiteks süsteem() või exec() süsteemikäskude täitmiseks.

OS-i käskude sisestamise tuvastamise ja kasutamise paremaks mõistmiseks on kasulik seda probleemi uurida kolmes põhikategoorias.

instagram viewer

1. Otsese käsuga süstimine

Mõelge sellele ründaja vaatenurgast. Küberründaja avastab, et rakendus töötab konkreetse süsteemikäsuga; nad sisestavad pahatahtliku käsu eeldatavate argumentide osana. Seejärel käivitab rakendus algse käsu, millele järgneb pahatahtlik käsk.

Ründaja kasutab sellise haavatavuse leidmiseks erinevaid lähenemisviise. Lihtsaim viis selle vastu võitlemiseks on hoida operatsioonisüsteem kogu aeg ajakohasena. saate seda teha koostöös pädeva IT-meeskonnaga. Peaksite vältima kõiki rakendusi ja programme, mis võivad põhjustada süsteemi haavatavust, kuna ründaja võib koodi otse sisestada ja kahju on ettearvamatu.

2. Kaudse käsu süstimine

Kaudse käsusüsti korral ei sisesta ründaja otseselt koodi ega käsku süsteemi. Selleks kasutavad nad süsteemis haavatavat rakendust või programmi. Haavatavus loob silla ründaja ja operatsioonisüsteemi vahel. Seda suhtlust ära kasutades püüab ründaja sihtmärgil käitada pahatahtlikke koode ja käske.

Ründaja viib selle haavatavuse tuvastamiseks läbi rea teste ja avastab, et tarkvara kasutab süsteemikäsu kutsumiseks andmeid välisest allikast, näiteks failist või keskkonnamuutujast. Seejärel muudab ründaja välise allika sisu, nii et see sisaldab nüüd pahatahtlikku käsku. Seejärel käivitatakse see koos algse rakenduse juhistega.

Peamine erinevus otsese ja kaudse käsusüsti vahel on see, et ründaja kasutab operatsioonisüsteemiga suhtlemiseks rakendust. Kuid kahe süstimisviisi võimaliku kahju vahel pole tegelikku erinevust, seega tuleb mõlema süstimisega tegeleda. Seetõttu peaksite veenduma, et teie võrgus olevad programmid on usaldusväärsed ja vajalikud. Ärge hoidke oma seadmes rakendusi, mida te ei usalda.

3. Pimekäskluse süstimine

Teine OS-i käsusüstimise tüüp on pimekäskude süstimine. See tähendab, et rakendus ei tagasta HTTP vastuses käsu väljundit. Ründaja kasutab selle haavatavuse ärakasutamiseks erinevaid tehnikaid, näiteks viivitust ja väljundi marsruutimist.

Kujutage ette, et otsite veebisaiti ja URL-i väärtus „/?search=id” muutub iga otsinguga. ID-väärtus võib siin olla kasutaja leht, tootefoto aadress või saidi mis tahes leht. Ründaja võib ID-väärtust muutes saada erinevaid tulemusi. Seda on käsitsi raske teha, kuid neid on tööriistad nagu Burp Suite selle jaoks. Hiljem avastab ründaja lehel veidruse: võidakse tagastada ID-väärtus, mis, kuigi see tulemusi ei näidanud, veebisaidi vastus oli 200, mis näitab, et kõik on korras. Sellisel juhul võib ründaja kasutada pimekäskluse süstimist.

Eriti kasulik on selline tehnika nagu viivitus. Kuna avanev leht on tühi, ei saa te vastust, kuid võite siiski koguda teave selle kohta, mis on andmebaasis salvestatud, põhineb viivitustel, mis laadivad lehe ainult siis, kui see on teatud märk kohal. See on käsitsi töötlemiseks liiga aeganõudev, kuid paljud tööriistad võivad rünnaku automatiseerida.

Rünnaku näide

Vaatame kõike ülaltoodut näite kaudu. Kujutage ette, et teil on osturakendus, mis võimaldab kasutajal näha, kas tooteid on laos. Kogu sellele teabele juurdepääsuks kasutage allolevat URL-i:

example_unsafe_store.com/stockStatus? tooteID=245&poeID=

Kujutage ette, et toote ja poe ID-d edastatakse argumentidena shellikäsule, näiteks "stockstat.pl 245 38", kuna rakendus peaks päringuid tegema vanade kirjete kohta. Kui arendaja ei võta käskude sisestamise vastu midagi ette, võib ründaja saata soovitud käsu täitmiseks sisendi:

& kaja see_kahjulik_käsk &

Kui see kirje sisestatakse parameetrisse productID, on rakenduse käivitatav käsk järgmine:

stockstat.pl & kaja see_kahjulik_käsk & 38

Kajakäsk on kasulik meetod käskude sisestamise tuvastamiseks ja selle tagamiseks, et antud string väljundis ilmuks. Märk "&" on a shell käsu eraldaja, seega täidetakse kolm eraldi käsku üksteise järel. Selle tulemusena tagastatakse kasutajale väljund:

Viga -toote ID-d ei leitud
see_kahjulik_käsk
38: käsk ei leitud

Siin käivitas fail "stockstat.pl" käsu ilma oodatud argumentideta ja tagastas seetõttu veateate. Seejärel jooksis ründaja sisestatud kajakäsk ja ründaja nägi ekraanil enda sisestatud väljendit. Algne argument "38" toimis tõrkeid põhjustava käsuna.

Kuidas kaitsta OS-i käskude süstimise eest

Kuigi käsusüst on võimas ja kahjulik ründevektor, on selle vältimiseks mõned nipid. OS-i käsusüstimise rünnakute põhjus on teatud operatsioonisüsteemi käskude täitmine rakenduse abil. Peate selle juhtumise peatama. Arvestada tuleb mõne probleemiga.

  1. Peate takistama kõigil, kellel on rakendusele juurdepääs, koodi käivitamise.
  2. Peaksite takistama kõigil, kellel on rakendusele juurdepääs, serverile süntaktiliste väljenditega päringuid tegemast.
  3. Peate krüpteerima fraasid, mida igaüks, kellel on juurdepääs, taotleb.

Vaatame iga üksuse ükshaaval läbi. Hea lahendus esimesele probleemile on kasutage valge nimekirja meetodit et takistada rakendusekihile jõudnutel teatud koode või päringuid käivitamast. Igaüks, keda te ei tuvasta, ei saa koodi käivitada.

Teise lahenduseks on mitte aktsepteerida mõningaid käskudes kasutatavaid tekstiväljendeid. Kasutaja saab sisestada ainult arvväärtusi. Rakendage seda koos valge nimekirja meetodiga ja teil on palju turvalisem süsteem.

Kolmas üksus puudutab süntaktiliste parameetrite, näiteks sisestatud tähemärgi ja tühikute krüptimist. Selle tulemusena peaksid valgesse nimekirja lisamise meetod, sisendite süntaktiline kontrollimine ja sisendite krüpteerimine teid kaitsma OS-i käskude sisestamise eest.

Süstimise rünnakud arenevad iga päev

Erinevate ründetehnikatega süstimismeetodeid on palju, näiteks OS-i käsk, SQL, SSI ja XPath. Igaüht neist pole lihtne püüda ära hoida. Pidage meeles, et kõik need rünnakud arenevad iga päev ja kasutavad ära väikesi turvaauke, mis arendajatel kahe silma vahele jäid. Seetõttu on ülioluline, et te oleksite alati kursis ja jälgiksite tähelepanelikult küberturvalisuse maailma arenguid.