Integer Overflow
मूल जानकारी
इंटीजर ओवरफ्लो के मूल में कंप्यूटर प्रोग्रामिंग में डेटा प्रकारों की साइज द्वारा लगाई गई सीमा और डेटा की व्याख्या है।
उदाहरण के लिए, एक 8-बिट असाइन्ड इंटीजर मान्यता दे सकता है 0 से 255 तक के मान। यदि आप 8-बिट असाइन्ड इंटीजर में मान 256 स्टोर करने का प्रयास करते हैं, तो इसकी स्टोरेज क्षमता की सीमा के कारण यह 0 पर वापस लौट जाएगा। उसी तरह, एक 16-बिट असाइन्ड इंटीजर के लिए, जो मान सकता है 0 से 65,535 तक के मान, 65,535 में 1 जोड़ने से मान फिर से 0 पर वापस जाएगा।
इसके अतिरिक्त, एक 8-बिट साइन्ड इंटीजर मान सकता है -128 से 127 तक के मान। इसका कारण यह है कि एक बिट का उपयोग साइन (सकारात्मक या नकारात्मक) को प्रतिनिधित करने के लिए किया जाता है, जिससे 7 बिट उत्कृष्टता को प्रतिनिधित करने के लिए बचते हैं। सबसे नकारात्मक संख्या को -128 (बाइनरी 10000000
) के रूप में प्रतिनिधित किया जाता है, और सबसे सकारात्मक संख्या है 127 (बाइनरी 01111111
)।
अधिकतम मान
संभावित वेब सुरक्षा दोष के लिए अधिकतम समर्थित मानों को जानना बहुत दिलचस्प है:
इंटीजर ओवरफ्लो क्या है? %} ```c #include #include
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; }
साइन्ड से अनसाइन्ड कन्वर्शन
एक स्थिति का विचार करें जहाँ एक साइन्ड इंटीजर उपयोगकर्ता इनपुट से पढ़ा जाता है और फिर उसे एक संदर्भ में उपयोग किया जाता है जो इसे एक असाइन्ड इंटीजर के रूप में देखता है, सही मान्यता के बिना:
अन्य उदाहरण
केवल 1B का उपयोग पासवर्ड के आकार को संग्रहित करने के लिए किया जाता है, इसे ओवरफ्लो करना संभव है और इसे यह महसूस करने के लिए बनाया जा सकता है कि यह 4 की लंबाई है जबकि वास्तव में यह 260 है ताकि लंबाई की जांच सुरक्षा को छल सके
कुछ नंबर दिए गए हैं, z3 का उपयोग करके पहले नंबर को गुणित करने पर दूसरे नंबर को देने वाला एक नया नंबर खोजें:
केवल 1B का उपयोग पासवर्ड के आकार को संग्रहित करने के लिए किया जाता है, इसे ओवरफ्लो करना संभव है और इसे यह महसूस करने के लिए बनाया जा सकता है कि यह 4 की लंबाई है जबकि वास्तव में यह 260 है ताकि लंबाई की जांच सुरक्षा को छल सके और स्टैक में अगले स्थानीय चर को ओवरराइट कर सुरक्षा को छल सके
ARM64
यह ARM64 में बदलाव नहीं होता जैसा कि आप इस ब्लॉग पोस्ट में देख सकते हैं।
Last updated