arrow_backفیلڈ نوٹس پر واپس جائیں
WEB SECURITY شائع شدہ 9 Aug 2026

Buffer Overflow کیا ہے؟ ایک عملی مکمل گائیڈ

سیکھیں کہ buffer overflow کیسے کام کرتے ہیں ایک حقیقی C مثال کے ساتھ، stack diagram، اور وہ ٹولز جو آپ خود اسے دیکھنے کے لیے استعمال کر سکتے ہیں۔

Buffer overflow اس وقت ہوتا ہے جب کوئی پروگرام ایک fixed-size میموری کے حصے میں اس سے زیادہ ڈیٹا لکھتا ہے جتنا وہ حصہ رکھ سکتا ہے۔ اضافی بائٹس ملحق میموری میں پھیل جاتے ہیں، اور اس بات پر منحصر ہے کہ اس buffer کے آگے کیا بیٹھا ہے، آپ متغیرات کو خراب کر سکتے ہیں، پروگرام کو کریش کر سکتے ہیں، یا execution flow کو مکمل طور پر ہائی جیک کر سکتے ہیں۔ یہ سافٹ ویئر سیکیورٹی میں سب سے پرانی bug classes میں سے ایک ہے اور آج بھی CTFs، CVEs، اور embedded firmware میں نمودار ہوتا ہے۔

دمدار pattern

یہاں C میں ایک کلاسیکی مثال ہے:

#include <string.h>

void greet(char *name) {
    char buffer[64];
    strcpy(buffer, name);
}

int main(int argc, char **argv) {
    greet(argv[1]);
    return 0;
}

strcpy جو بھی string آپ اسے دیتے ہیں اسے buffer میں کاپی کرتا ہے، کوئی bounds checking کے بغیر۔ اگر argv[1] 64 بائٹس سے زیادہ لمبا ہے، تو کاپی array کے آخر سے آگے جاتی رہتی ہے۔ Stack پر، buffer دوسری local variables، saved registers، اور بالآخر return address کے نیچے بیٹھا ہوتا ہے جو CPU کو بتاتا ہے کہ greet() ختم ہونے کے بعد کہاں جانا ہے۔ اس return address کو ایک address سے overwrite کریں جو آپ کنٹرول کرتے ہیں، اور آپ کنٹرول کرتے ہیں کہ آگے کیا چلے۔

یہ ابھی بھی کیوں compile اور run ہوتا ہے

C اور C++ raw arrays پر خودکار bounds checking نہیں کرتے۔ strcpy, gets, sprintf، اور strcat جیسے functions خوشی سے buffer کے آخر سے آگے لکھیں گے کیونکہ وہ صرف null terminator یا source length کی فکر کرتے ہیں، destination کے حقیقی سائز کی نہیں۔ اسے strncpy یا snprintf سے موازنہ کریں، جو ایک واضح size argument لیتے ہیں اور وہاں رک جاتے ہیں۔ vulnerability اصل میں

AI کی مدد سے لکھا گیا، Michal Pilch (CISSP)، Korra Studio کے ذریعے جائزہ لیا گیا اور شائع کیا گیا۔

آگے بڑھنے کے لیے تیار ہیں؟

یہ Korra Studio کے علم کے ذخیرے کا ایک نوٹ ہے — یہ پلیٹ فارم ہر موضوع کو ایک سے ایک رہنمائی کے ساتھ جوڑتا ہے۔

مفت شروع کریںarrow_forward