2 – Лаборатория иши Хотиранинг тўлиб тошиш таҳдиди


Download 73.05 Kb.
Sana29.11.2020
Hajmi73.05 Kb.
#155212
Bog'liq
2-labaratoriya XDVI



2 – Лаборатория иши

Хотиранинг тўлиб тошиш таҳдиди

Ишдан мақсад: С, C++ дастурлаш тилида хотиранинг тўлиб тошиш таҳдиди билан танишиб чиқиш.

Назарий қисм

Амалда кўп учрайдиган дастурлаш тилларидаги камчиликлар одатда, тақиқланган форматдаги ёки ҳажмдаги маълумотлар киритилиши натижасида келиб чиқади. Бу турдаги таҳдидлар ичида кенг тарқалгани бу – хотиранинг тўлиб тошиш таҳдиди саналади.

Масалан, веб сайтда фойдаланувчидан маълумотлар киритилиши талаб этилса (исми, фамиляси, йили, ва ҳак.), фойдаланувчи томонидан киритилган “исм” майдонидаги маълумот сервердаги N та белги ҳажмига эга соҳага ёзилади. Агар киритилган маълумот узунлиги N дан катта бўлган ҳолда, хотиранинг тўлиб тошиши ҳодисаси юзага келади.

Амалий қисм

#include

#include

int main(void)

{

char buff[15];



int pass = 0;

printf("\n Parolni kiriting : \n");

gets(buff);

if(strcmp(buff, "biloliddin"))

{

printf ("\n parol notugri \n");



}

else


{

printf ("\n parol tugri \n");

pass = 1;

}

if(pass)



{

/* tizimga kirishga huquq*/

printf ("\n tizimga muvaffaqiyatli kirdingiz \n");

}

return 0;



}

Dastur foydalanuvchidan parol kutadi va agar parol to'g'ri bo'lsa, u foydalanuvchiga tizimga kirish huquqini beradi.

1)To’g’ri parol: biloliddin ni kiritamiz.

Dasturimiz bu holatda to’g’ri ishladi

2)Noto’g’ri parol: ax7100717 ni kiritamiz



Dastur bu holatda ham to’g’ri ishladi.

3)Dasturga noto’gri lekin belgilar soni 15 tadan ko’p bo’lgan parol kiriamiz:



Bu holatda dasturda xotiraning to’lib toshishi ya’ni Bufer overflow zaifligi amalga oshadi va parol noto’g’ri bo’lsa ham tizimha kirishga ruxsat olinadi.


Download 73.05 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling