2 – Лаборатория иши Хотиранинг тўлиб тошиш таҳдиди
Download 73.05 Kb.
|
2-labaratoriya XDVI
- Bu sahifa navigatsiya:
- Назарий қисм
- Амалий қисм
- biloliddin
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"); }
} 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'muriyatiga murojaat qiling