A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
tanszek:oktatas:szamitastechnika:buffer_tulcsordulas [2023/11/14 11:17] knehez létrehozva |
tanszek:oktatas:szamitastechnika:buffer_tulcsordulas [2023/11/14 11:22] (aktuális) knehez [A korábbi egy karakteres jelszókezelő kibővítése] |
||
---|---|---|---|
Sor 66: | Sor 66: | ||
} | } | ||
</sxh> | </sxh> | ||
+ | |||
+ | |||
+ | A //gets()// függvényt használjuk a jelszó bekérésére, ami veszélyes, mert nem ellenőrzi a rendelkezésre álló buffer méretét. Ha a felhasználó több mint 12 karaktert ad meg, az túlcsordulást okoz a buffer-ben a //checkPassword()// függvényben. | ||
+ | |||
+ | Ez a példa bemutatja, hogyan lehet kihasználni a buffer túlcsordulását, de fontos hangsúlyozni, hogy a valós alkalmazásokban mindig biztonságos programozási technikákat kell alkalmazni. A //gets()// függvényt soha nem szabad már éles környezetben használni, helyette biztonságos alternatívákat, mint a //fgets()//, kell alkalmazni. Ezenkívül a modern fordítók és operációs rendszerek számos védelmi mechanizmust tartalmaznak (pl. stack canaries, ASLR) a buffer túlcsordulás ellen. | ||
+ | |||
+ | |||