ایس کیو ایل انجیکشن کا اثر
SQL انجیکشن (SQLi) حملہ آور کو ان سوالات میں مداخلت کرنے کی اجازت دیتا ہے جو ایک ایپلیکیشن اپنے ڈیٹا بیس [S1] پر کرتی ہے۔ بنیادی اثر میں حساس ڈیٹا جیسے صارف کے پاس ورڈ، کریڈٹ کارڈ کی تفصیلات، اور ذاتی معلومات [S1] تک غیر مجاز رسائی شامل ہے۔
ڈیٹا چوری کے علاوہ، حملہ آور اکثر ڈیٹا بیس کے ریکارڈ میں ترمیم یا حذف کر سکتے ہیں، جس کے نتیجے میں ایپلیکیشن کے رویے میں مسلسل تبدیلیاں آتی ہیں یا ڈیٹا کا نقصان [S1] ہوتا ہے۔ زیادہ شدت کے معاملات میں، SQLi کو بیک اینڈ انفراسٹرکچر سے سمجھوتہ کرنے، سروس سے انکار کے حملوں کو فعال کرنے، یا تنظیم کے سسٹمز [S1][S1]ZXVIBETOKEN1ZXCVZXCVFIXVIXVIXBEXTOKEN میں ایک مستقل بیک ڈور فراہم کرنے کے لیے بڑھایا جا سکتا ہے۔
بنیادی وجہ: غیر محفوظ ان پٹ ہینڈلنگ
ایس کیو ایل انجیکشن کی بنیادی وجہ ایس کیو ایل کمانڈ [S2] میں استعمال ہونے والے خصوصی عناصر کا غلط بے اثر ہونا ہے۔ ایسا اس وقت ہوتا ہے جب کوئی ایپلیکیشن بیرونی طور پر متاثر ان پٹ کو براہ راست استفسار کے اسٹرنگ [S1][S2] میں جوڑ کر SQL استفسارات تیار کرتی ہے۔
چونکہ ان پٹ کو استفسار کے ڈھانچے سے مناسب طریقے سے الگ نہیں کیا گیا ہے، اس لیے ڈیٹا بیس انٹرپریٹر صارف کے ان پٹ کے کچھ حصوں کو بطور لفظی ڈیٹا [S2] سمجھنے کے بجائے SQL کوڈ کے طور پر چلا سکتا ہے۔ یہ کمزوری استفسار کے مختلف حصوں میں ظاہر ہو سکتی ہے، بشمول SELECT بیانات، INSERT اقدار، یا UPDATE بیانات [S1]۔
ٹھوس اصلاحات اور تخفیف
پیرامیٹرائزڈ سوالات استعمال کریں۔
ایس کیو ایل انجیکشن کو روکنے کا سب سے مؤثر طریقہ پیرامیٹرائزڈ سوالات کا استعمال ہے، جسے تیار بیانات [S1] بھی کہا جاتا ہے۔ سٹرنگز کو جوڑنے کے بجائے، ڈویلپرز کو ایسے سٹرکچرڈ میکانزم کا استعمال کرنا چاہیے جو ڈیٹا اور کوڈ [S2] کی علیحدگی کو نافذ کرے۔
کم سے کم استحقاق کا اصول
ایپلی کیشنز کو اپنے کاموں کے لیے درکار سب سے کم مراعات کا استعمال کرتے ہوئے ڈیٹا بیس سے منسلک ہونا چاہیے [S2]۔ ایک ویب ایپلیکیشن اکاؤنٹ میں انتظامی مراعات نہیں ہونی چاہئیں اور اسے مخصوص ٹیبلز یا اس کے فنکشن [S2] کے لیے ضروری آپریشنز تک محدود ہونا چاہیے۔
ان پٹ کی توثیق اور انکوڈنگ
اگرچہ پیرامیٹرائزیشن کا متبادل نہیں ہے، لیکن ان پٹ کی توثیق [S2] کو گہرائی سے دفاع فراہم کرتی ہے۔ ایپلی کیشنز کو ایک قبول معروف حکمت عملی کا استعمال کرنا چاہئے، اس بات کی توثیق کرتے ہوئے کہ ان پٹ متوقع اقسام، لمبائی اور فارمیٹس [S2] سے میل کھاتا ہے۔
FixVibe اس کے لیے کیسے ٹیسٹ کرتا ہے۔
FixVibe پہلے سے ہی گیٹڈ active.sqli سکینر ماڈیول کے ذریعے SQL انجیکشن کا احاطہ کرتا ہے۔ فعال اسکینز صرف ڈومین کی ملکیت کی تصدیق اور تصدیق کے بعد چلتے ہیں۔ چیک استفسار کے پیرامیٹرز کے ساتھ ایک ہی اصل کے GET اینڈ پوائنٹس کو کرال کرتا ہے، ایک بنیادی جواب قائم کرتا ہے، ایس کیو ایل کے لیے مخصوص بولین بے ضابطگیوں کو تلاش کرتا ہے، اور متعدد تاخیر کی لمبائیوں میں وقت کی تصدیق کے بعد صرف تلاش کی اطلاع دیتا ہے۔ ریپوزٹری اسکین code.web-app-risk-checklist-backfill کے ذریعے بنیادی وجہ کو پکڑنے میں بھی مدد کرتا ہے، جو ٹیمپلیٹ انٹرپولیشن کے ساتھ بنی خام SQL کالوں کو جھنڈا دیتا ہے۔
