Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Injekcijas uzbrukumi ir viens no visizplatītākajiem veidiem, kā hakeri uzbrūk sistēmām, jo ​​tas ļauj viņiem viegli palaist daudzas komandas un kodus. OS komandu injekcija ir viens no šādiem injekcijas uzbrukumiem, kas jums jāzina. Tas izmanto ievainojamību, kas sistēmu, datu bāzu un tīmekļa lietojumprogrammu administratoriem būtu jāuztver ļoti nopietni.

Tātad, kas ir OS komandu injekcijas uzbrukums?

OS komandas ievadīšanas definīcija

OS komandu injekcija ļauj ļaunprātīgam uzbrucējam palaist jebkuru vēlamo komandu, izmantojot ievainojamu operētājsistēmu, programmu, lietojumprogrammu, datu bāzi vai spraudni. Tas notiek, ja lietojumprogrammas nespēj pareizi apstiprināt un sanitizēt parametrus, ko tās izmanto, izsaucot čaulas funkcijas, piemēram, sistēma () vai izpildīt() lai izpildītu sistēmas komandas.

Lai labāk izprastu OS komandu ievadīšanas noteikšanu un izmantošanu, ir lietderīgi šo problēmu izpētīt trīs galvenajās kategorijās.

instagram viewer

1. Tiešās komandas injekcija

Apsveriet to no uzbrucēja viedokļa. Kiberuzbrucējs atklāj, ka lietojumprogramma palaiž noteiktu sistēmas komandu; viņi ievada ļaunprātīgo komandu kā daļu no paredzamajiem argumentiem. Pēc tam lietojumprogramma izpilda sākotnējo komandu, kam seko ļaunprātīgā komanda.

Uzbrucējs izmanto dažādas pieejas, lai atrastu šādu ievainojamību. Vienkāršākais veids, kā ar to cīnīties, ir pastāvīgi atjaunināt operētājsistēmu; to varētu izdarīt sadarbībā ar kompetentu IT komandu. Jāizvairās no visām lietotnēm un programmām, kas var izraisīt sistēmas ievainojamības, jo uzbrucējs var tieši ievietot kodu, un bojājumi ir neparedzami.

2. Netiešās komandas injekcija

Netiešas komandas ievadīšanas gadījumā uzbrucējs tieši neievada kodu vai komandu sistēmā. Šim nolūkam viņi sistēmā izmanto ievainojamu lietojumprogrammu vai programmu. Ievainojamība rada tiltu starp uzbrucēju un operētājsistēmu. Izmantojot šo saziņu, uzbrucēja mērķis ir palaist ļaunprātīgus kodus un komandas uz mērķi.

Uzbrucējs veic virkni testu, lai identificētu šo ievainojamību, un atklāj, ka programmatūra izmanto datus no ārēja avota, piemēram, faila vai vides mainīgā, lai izsauktu sistēmas komandu. Pēc tam uzbrucējs maina ārējā avota saturu, tāpēc tagad tajā ir ietverta ļaunprātīga komanda. Pēc tam tas tiek izpildīts kopā ar sākotnējās lietojumprogrammas instrukcijām.

Galvenā atšķirība starp tiešo un netiešo komandu ievadīšanu ir tāda, ka uzbrucējs izmanto lietojumprogrammu, lai sazinātos ar operētājsistēmu. Bet nav reālas atšķirības starp kaitējumu, ko var nodarīt abi injekcijas veidi, tāpēc ir jārisina abi. Tāpēc jums jāpārliecinās, ka jūsu tīklā esošās programmas ir uzticamas un nepieciešamas. Neglabājiet savā ierīcē lietotnes, kurām neuzticaties.

3. Aklās komandas injekcija

Cits OS komandu ievadīšanas veids ir aklo komandu ievadīšana. Tas nozīmē, ka lietojumprogramma HTTP atbildē neatgriež nekādu komandas izvadi. Lai izmantotu šo ievainojamību, uzbrucējs izmanto dažādas metodes, piemēram, laika aizkavi un izvades maršrutēšanu.

Iedomājieties, ka meklējat vietni un URL vērtība “/?search=id” mainās ar katru meklēšanu. ID vērtība šeit var būt lietotāja lapa, produkta fotoattēla adrese vai jebkura vietnes lapa. Mainot id vērtību, uzbrucējs var iegūt dažādus rezultātus. To ir grūti izdarīt manuāli, bet ir tādus rīkus kā Burp Suite priekš šī. Vēlāk uzbrucējs lapā atklāj dīvainību: var tikt atgriezta id vērtība, kas, lai gan tā neuzrādīja nekādus rezultātus, vietnes atbilde bija 200, kas norāda, ka viss ir kārtībā. Šādā gadījumā uzbrucējs var izmantot aklu komandu injekciju.

Īpaši noderīga ir tāda tehnika kā laika aizkave. Tā kā atvērtā lapa būs tukša, jūs nesaņemsit nekādu atbildi, taču, iespējams, joprojām varēsit apkopot informācija par to, kas tiek glabāts datu bāzē, pamatojoties uz laika aizkavi, kas ielādē lapu tikai tad, ja ir noteikta rakstzīme klāt. Tas ir pārāk laikietilpīgs, lai būtu manuāls process, taču daudzi rīki var automatizēt uzbrukumu.

Uzbrukuma scenārija piemērs

Apskatīsim visu iepriekš minēto, izmantojot piemēru. Iedomājieties, ka jums ir iepirkšanās lietotne, kas ļauj lietotājam redzēt, vai produkti ir noliktavā. Lai piekļūtu visai šai informācijai, izmantosim tādu URL kā tālāk norādītais:

example_unsafe_store.com/stockStatus? productID=245&veikala ID=

Iedomājieties, ka produkta un veikala ID tiek nodoti kā argumenti čaulas komandai, piemēram, "stockstat.pl 245 38", jo lietojumprogrammai būs jāvaicā veci ieraksti. Ja izstrādātājs neveic nekādas darbības pret komandu ievadīšanu, uzbrucējs var nosūtīt ievadi, lai izpildītu vēlamo komandu:

& atbalss šī_kaitīgā_komanda un

Ja šis ieraksts tiek ievadīts parametrā productID, lietojumprogrammas izpildītā komanda būs šāda:

stockstat.pl & atbalss šī_kaitīgā_komanda un 38

Echo komanda ir noderīga metode, lai noteiktu komandu injekcijas, kā arī pārliecinātos, ka dotā virkne parādās izvadē. Rakstzīme "&" ir a čaulas komandu atdalītājs, tāpēc tiek izpildītas trīs atsevišķas komandas, viena pēc otras. Rezultātā lietotājam atgrieztā izvade būs:

Kļūda -produkta ID nav atrasts
šī_kaitīgā_komanda
38: komandu nav atrasts

Šeit fails "stockstat.pl" izpildīja komandu bez gaidītajiem argumentiem un tāpēc atgrieza kļūdas ziņojumu. Pēc tam paskrēja uzbrucēja ievadītā atbalss komanda, un uzbrucējs ekrānā ieraudzīja viņa ievadīto izteiksmi. Sākotnējais arguments "38" tika izpildīts kā kļūdu izraisoša komanda.

Kā aizsargāties pret OS komandu injekcijām

Lai gan komandu ievadīšana ir spēcīgs un kaitīgs uzbrukuma vektors, ir daži triki, kā no tās izvairīties. OS komandu injekcijas uzbrukumu iemesls ir noteiktu operētājsistēmas komandu izpilde, izmantojot lietojumprogrammu. Jums tas ir jāpārtrauc. Ir daži jautājumi, kas jāņem vērā:

  1. Jums ir jānodrošina, lai ikviens, kam ir piekļuve lietojumprogrammai, nevarētu palaist kodu.
  2. Jums vajadzētu neļaut ikvienam, kam ir piekļuve lietojumprogrammai, veikt pieprasījumus serverim ar sintaktiskām izteiksmēm.
  3. Jums ir jāšifrē frāzes, kuras pieprasa ikviens, kam ir piekļuve.

Izskatīsim katru vienumu pa vienam. Labs pirmās problēmas risinājums ir izmantojiet baltā saraksta metodi lai neviens, kas sasniedz lietojumprogrammas slāni, nevarētu izpildīt noteiktus kodus vai pieprasījumus. Ikviens, kuru jūs neidentificējat, nevarēs palaist kodu.

Otrais risinājums ir nepieņemt dažas komandās izmantotās teksta izteiksmes. Lietotājs var ievadīt tikai skaitliskas vērtības. Lietojiet to kopā ar baltā saraksta metodi, un jums būs daudz drošāka sistēma.

Trešais punkts ir par sintaktisko parametru, piemēram, ievadītās rakstzīmes un atstarpes, šifrēšanu. Rezultātā baltā saraksta metodei, ievades sintaktiskajai pārbaudei un ievades šifrēšanai vajadzētu pasargāt jūs no OS komandu ievadīšanas.

Injekcijas uzbrukumi attīstās katru dienu

Ir daudzas injekcijas metodes ar dažādām uzbrukuma metodēm, piemēram, OS komandas, SQL, SSI un XPath. Nav viegli mēģināt novērst katru no tiem. Ņemiet vērā, ka visi šie uzbrukumi attīstās katru dienu un izmanto nelielas ievainojamības, kuras izstrādātāji nav pamanījuši. Tāpēc ir ļoti svarīgi vienmēr būt lietas kursā un rūpīgi sekot līdzi aktuālajām norisēm kiberdrošības pasaulē.