4.7 KiB
Kuzidiwa kwa Nambari ya Mzunguko
Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
- Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikionekana katika HackTricks? Au ungependa kupata ufikiaji wa toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF? Angalia MPANGO WA KUJIUNGA!
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Pata swag rasmi ya PEASS & HackTricks
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au nifuatilie kwenye Twitter 🐦@carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye repo ya hacktricks na repo ya hacktricks-cloud.
{% tabs %} {% tab title="Rust" %}
fn main() {
let mut quantity = 2147483647;
let (mul_result, _) = i32::overflowing_mul(32767, quantity);
let (add_result, _) = i32::overflowing_add(1, quantity);
println!("{}", mul_result);
println!("{}", add_result);
}
{% endtab %}
{% tab title="Swahili" %}
Integer Overflow
Kuzidi kwa nambari ni hali ambapo nambari inazidi ukubwa wa kikomo kilichowekwa kwa aina ya data. Katika programu za C, kuzidi kwa nambari kunaweza kusababisha matokeo yasiyotarajiwa na hatari kwa usalama.
Kwa mfano, ikiwa tuna aina ya data ya int
ambayo ina ukubwa wa 4 baiti, inaweza kuhifadhi nambari kutoka -2,147,483,648 hadi 2,147,483,647. Ikiwa tunajaribu kuongeza 1 kwa nambari ya juu zaidi, itasababisha kuzidi kwa nambari na kurejea kwa nambari ya chini zaidi, -2,147,483,648.
Katika muktadha wa usalama wa wavuti, kuzidi kwa nambari inaweza kutumiwa na wadukuzi kufanya mashambulizi kama vile kubadilisha thamani ya kumbukumbu, kusababisha kukwama kwa programu, au hata kutekeleza msimbo mbaya.
Kwa hiyo, ni muhimu kwa wapima vipimo kuhakikisha kuwa mipaka ya aina ya data inaheshimiwa na kuepuka kuzidi kwa nambari. Hii inaweza kufanywa kwa kuchunguza mipaka ya aina ya data na kuhakikisha kuwa operesheni za arithmetiki zinazofanywa hazisababishi kuzidi kwa nambari.
Kwa mfano, badala ya kutumia operesheni ya kuongeza moja kwa moja, unaweza kutumia operesheni ya kulinganisha kwanza ili kuhakikisha kuwa kuzidi kwa nambari haitatokea. Pia, unaweza kutumia aina za data zenye ukubwa mkubwa zaidi kama long
au long long
ili kuepuka kuzidi kwa nambari.
Kwa kumalizia, kuzidi kwa nambari ni hatari kwa usalama na inaweza kutumiwa na wadukuzi kufanya mashambulizi. Ni muhimu kwa wapima vipimo kuhakikisha kuwa mipaka ya aina ya data inaheshimiwa na kuepuka kuzidi kwa nambari kwa kufanya ukaguzi sahihi na kutumia aina za data sahihi.
#include <stdio.h>
#include <limits.h>
int main() {
int a = INT_MAX;
int b = 0;
int c = 0;
b = a * 100;
c = a + 1;
printf("%d\n", INT_MAX);
printf("%d\n", b);
printf("%d\n", c);
return 0;
}
{% endtab %} {% endtabs %}
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
- Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikionekana katika HackTricks? Au ungependa kupata ufikiaji wa toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF? Angalia MPANGO WA KUJIUNGA!
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Pata swag rasmi ya PEASS & HackTricks
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au nifuatilie kwenye Twitter 🐦@carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye repo ya hacktricks na repo ya hacktricks-cloud.