اقوام متحدہ کی کمزوری | آپ کی ویب ایپلی کیشن میں محفوظ اجازت کو کیسے لاگو کرنا

Anonim
اقوام متحدہ کی کمزوری | آپ کی ویب ایپلی کیشن میں محفوظ اجازت کو کیسے لاگو کرنا 2740_1

یہ مضمون معروف OAuth بیماریوں سے نمٹنے کے لئے کرے گا. قارئین بھی سیکھیں گے کہ کس طرح ویب ایپلی کیشن میں محفوظ اور محفوظ اختیار کو لاگو کرنا ہے.

OAuth ایک قابل اعتماد پروٹوکول ہے، لیکن اس کی ڈگری بڑی تعداد میں ویب ڈویلپرز کے بارے میں بیداری پر منحصر ہے جب اجازت پر عملدرآمد کرتے ہیں. اس موضوع کو انفارمیشن سیکورٹی پیشہ ور افراد کے لئے انتہائی اہم بناتا ہے. انہیں اپنے صارفین کے اکاؤنٹس کے اعلی درجے کی حفاظت فراہم کرنے کی ضرورت ہے. یہ مؤثر پریکٹیشنرز سے واقف ہونے کا وقت ہے جو غریب فروخت OAuth کے خطرے کو کم کرنے میں مدد ملے گی.

تعارف

OAuth 2.0 پروٹوکول فی الحال مختلف ایپلی کیشنز میں بڑے پیمانے پر استعمال کیا جاتا ہے. اس کا استعمال کرتے ہوئے، صارف کا نام اور پاسورڈ داخل کرنے کے لئے روایتی طریقوں کے مقابلے میں آسان صارف انٹرفیس دستیاب، آسان تصدیق اور اجازت بن جاتا ہے. مناسب اور فکر مند عمل درآمد کے ساتھ، OAuth پروٹوکول روایتی اجازت سے کہیں زیادہ محفوظ ہو جائے گا، کیونکہ صارفین کو مخصوص وسائل تک رسائی حاصل کرنے کے لئے تیسرے فریق کی درخواست کے ساتھ اپنے اکاؤنٹنگ کے اعداد و شمار کا اشتراک کرنے کی ضرورت نہیں ہے. صارفین اکثر ان کے Google اکاؤنٹس، فیس بک یا لنکڈین کا استعمال کرتے ہوئے لاگ ان کرنا چاہتے ہیں، ہر ویب سائٹ پر رجسٹر کرنے کی ضرورت ہر وقت ایک نیا اکاؤنٹ بنانے کے بجائے. اس طرح، OAuth پروٹوکول ہماری زندگی کو آسان بنا دیتا ہے.

عام طور پر، مقبول OAuth سروس فراہم کرنے والے بہت قابل اعتماد ہیں. Google یا فیس بک اکاؤنٹ کے ساتھ لاگ ان کریں سیکورٹی کا ایک خاص احساس، اور یہ درست ہے. ماہرین کی طرف سے پروٹوکول احتیاط سے تجربہ کیا جاتا ہے. تمام دستیاب خطرات کو ہمیشہ ڈویلپر ٹیم کی طرف سے فوری طور پر درست کیا جاتا ہے. تاہم، یہ بات قابل ذکر ہے کہ مکمل حفاظت کا احساس غلط ہو سکتا ہے.

OAuth سروس فراہم کرنے والے نے درخواست کے ڈویلپرز کو ان کے پروگراموں کی حفاظت کا مقابلہ کرنے کے بہت سے وجوہات کو چھوڑ دیا. دراصل، ابتدائی طور پر محفوظ OAuth سروس، اس کی تنصیب کے عمل میں غلط طور پر لاگو کیا جاتا ہے، انٹرویو کے لئے ایک آسان ہدف بن سکتا ہے. اس طرح کی تعصب صارفین کے ذاتی ڈیٹا کی چوری کی قیادت کرے گی.

اگلا، آپ کو تیسرے فریق کے ایپلی کیشنز میں سب سے زیادہ عام خطرات پر غور کرنا چاہئے جو اپنے صارفین کو اختیار کرنے کے لئے OAuth پروٹوکول پر عمل درآمد کرتے ہیں. یہ یاد رکھنا ضروری ہے کہ پروٹوکول خود محفوظ اور قابل اعتماد ہے. صرف غلط عمل درآمد کے بعد، ہیکر حملوں کے لئے یہ خطرناک ہو جاتا ہے.

ریفرن ہیڈر کا استعمال کرتے ہوئے OAuth TOCKEY چوری

جب ایپوت سرور میں صارف کی طرف سے درخواست کی درخواست کی اجازت ہوتی ہے تو، کسی شخص کو اس کے بعد چیک کے لئے سرور میں داخل کرنے اور بھیجنے کے لئے کوڈ وصول کرتا ہے. اگر کام کے دوران صارف کو کسی دوسرے صفحے پر ری ڈائریکٹ کیا جائے گا، تو کوڈ HTTP درخواست کے "حوالہ" ہیڈر میں دیکھا جائے گا. اس طرح، کوڈ بیرونی ویب سائٹ پر گر جائے گا، جو OAuth سرور پر رجسٹرڈ صارف کے اعداد و شمار کو دھمکی دے گی.

نوٹ: ریفرر ہیڈر ایک HTTP سوال ہیڈر ہے، یہ URL میزبان منتقل کرتا ہے جس سے درخواست بھیجا جاتا ہے.

اس خطرے کے نتائج کو نرم کرنے کے لئے، ڈویلپر کو اس بات کو یقینی بنانا چاہیے کہ اس کی ویب ایپلی کیشن میں کوئی HTML انجکشن شامل نہیں ہے. اگر انجکشن کا پتہ چلا گیا تو، حملہ آور آسانی سے تصویر ٹیگ کو اس کے ویب سرور میں مقرر کرسکتا ہے اور اس پر صارف کو ری ڈائریکٹ کرنے کا راستہ تلاش کرسکتا ہے. اس طرح، وہ HTTP درخواست کے "حوالہ" ہیڈر سے کوڈ چوری کرنے کا موقع ملے گا.

Redirect_uri پیرامیٹر کا استعمال کرتے ہوئے OAuth TOCKEY چوری

درخواست OAuth سرور کی درخواست بھیجنے کے ذریعے اجازت کے عمل کی شروعات کرتا ہے:

https://www.example.com/signin/authorize؟ (]DREDIRECT_URI=HTTPPS://demo.example.com/loginsuccessfus.

سوال ہمیشہ "Redirect_uri" پیرامیٹر پر مشتمل ہے جس میں OAuth سرور کی طرف سے استعمال کیا جاتا ہے تاکہ صارف نے اپنی رضامندی کی توثیق کی ہے. اگر اس پیرامیٹر کی قیمت کو کنٹرول نہیں کیا جاتا ہے یا چیک نہیں کیا جاتا ہے، حملہ آور آسانی سے اسے تبدیل کر سکتا ہے اور اس کی ویب سائٹ پر درخواست کو ری ڈائریکٹ کرسکتا ہے، جہاں یہ ٹوکن کی پروسیسنگ اور محدود وسائل تک رسائی حاصل کرنے کے لئے ایک خصوصی پروگرام کا استعمال کرتا ہے.

https://www.example.com/signin/authorize؟ (]DREDIRECT_URI=HTTPPS://localHost.evil.com.

کبھی کبھی اسی طرح کے یو آر ایل کو روک دیا گیا ہے. حملہ آور کھلی یو آر ایل پر موصول کردہ ڈیٹا کو ری ڈائریکٹ کرسکتا ہے، اس طرح:

https://www.example.com/oauth20_authorize.srf؟[k.آرو redirect_uri=httpps://accounts.google.com/backtouthsubtarget؟next=httpset://evil.com.

یا یہ:

https://www.example.com/oututh2/authorize؟ [...]٪ irect_uri = https٪ 3A٪ 2F٪ 2fApps.facebook.com٪ 2fattacker٪ 2F.

OAuth لاگو کرتے وقت، آپ کو سفید فہرست میں پورے ڈومینز میں کبھی بھی شامل نہیں ہوسکتا ہے. صرف چند یو آر ایل کو "ری ڈائریکٹری" میں شامل کیا جانا چاہئے "ری ڈائریکٹ کھولنے کے لئے ایک درخواست کو ری ڈائریکٹ نہیں کیا جانا چاہئے.

کراس لائن کی درخواستوں کی بخشش

ایک انٹرفیس کی درخواست کی بخشش ہوسکتی ہے جب حملہ آور اس کے لنک پر کلک کرنے کے لئے شکار کرنے میں کامیاب ہوسکتا ہے اور اس طرح، ایک درخواست پیدا کرنے کے لئے کہ وہ پیدا کرنے کے لئے نہیں جا رہا تھا. کراس لائن کی درخواستوں کی جعل سازی عام طور پر CSRF ٹوکن کے ساتھ نرمی کی جاتی ہے، جو صارف سیشن کے ساتھ منسلک ہے. یہ درخواست میں ایک ایسے شخص کی جانچ پڑتال کرنے میں مدد ملتی ہے جس نے درخواست بھیجا. OAuth پروٹوکول میں "ریاست" پیرامیٹر CSRF ٹوکن کے طور پر کام کرتا ہے.

یہ دیکھنے کے قابل ہے کہ کس طرح CSRF حملے OAuth پر کیا جاتا ہے اور "ریاست" پیرامیٹر کے طور پر خطرے کے اثرات کو کم کرنے کے لئے استعمال کیا جا سکتا ہے.

ہیکر ایک ویب ایپلی کیشنز کھولتا ہے اور OAuth استعمال کرتے ہوئے سروس فراہم کرنے کے لئے اجازت کے عمل کو شروع کرتا ہے. درخواست فراہم کرنے کی ضرورت تک رسائی حاصل کرنے کے لئے ایک سروس فراہم کنندہ کی درخواست کرتا ہے. ہیکر سروس سروس فراہم کنندہ کی ویب سائٹ پر ری ڈائریکٹ کیا جائے گا، جہاں آپ کو عام طور پر رسائی کا اختیار کرنے کے لئے اپنے صارف کا نام اور پاس ورڈ درج کرنے کی ضرورت ہے. اس کے بجائے، ہیکر کو پکڑتا ہے اور اس درخواست کو روکتا ہے اور اس کے یو آر ایل کو بچاتا ہے. ہیکر کسی نہ کسی طرح شکار اس یو آر ایل کو کھولنے کا سبب بنتا ہے. اگر شکار نے اپنے اکاؤنٹ کا استعمال کرتے ہوئے سروس فراہم کنندہ کے نظام میں داخل کیا تو، اس کے اسناد کو اجازت دینے والے کوڈ کو جاری کرنے کے لئے استعمال کیا جائے گا. اجازت کوڈ تک رسائی ٹوکن تک رسائی حاصل کرتا ہے. اب درخواست میں ہیکر اکاؤنٹ کا اختیار ہے. یہ شکار کا اکاؤنٹ تک رسائی حاصل کرسکتا ہے.

لہذا، میں اس صورت حال کو "ریاست" پیرامیٹر کا استعمال کرتے ہوئے کیسے روک سکتا ہوں؟

درخواست کو ایک قدر بنانا ضروری ہے جو کسی طرح سے ذریعہ اکاؤنٹ پر مبنی ہے (مثال کے طور پر، صارف سیشن ہیش کی کلید کا استعمال کریں). یہ بہت اہم نہیں ہے کہ یہ کیا ہے، اہم بات یہ ہے کہ قیمت اصل صارف کے بارے میں نجی معلومات کا استعمال کرتے ہوئے منفرد اور پیدا ہوتا ہے. یہ "ریاست" پیرامیٹر کو تفویض کیا جاتا ہے.

جب ری ڈائریکٹنگ کرتے وقت اس قدر سروس فراہم کنندہ کو منتقل کیا جاتا ہے. اب ہیکر نے شکار کو URL کھولنے کے لئے دعوت دی ہے، جس نے اسے برقرار رکھا.

اجازت کا کوڈ جاری کیا گیا ہے اور "ریاست" پیرامیٹر کے ساتھ ساتھ سیشن میں کلائنٹ میں واپس بھیج دیا گیا ہے.

کلائنٹ سیشن کی معلومات پر مبنی پیرامیٹر کی قیمت پیدا کرتا ہے اور اسے "ریاست" قیمت کے ساتھ موازنہ کرتا ہے، جو سروس فراہم کنندہ کو اجازت دینے والی درخواست سے واپس بھیج دیا گیا تھا. یہ قیمت "ریاست" پیرامیٹر سے سوال نہیں ہے، کیونکہ یہ صرف موجودہ سیشن کے بارے میں معلومات کی بنیاد پر پیدا ہوا ہے. نتیجے کے طور پر، حاصل کردہ قیمت نظام کی طرف سے قبول نہیں کیا جاتا ہے.

OAUTH پر عملدرآمد کرتے وقت دوسرے خطرات کا پتہ چلا جب "Redirect_URI" پیرامیٹر کا استعمال کرتے ہوئے XSS (کراس سائٹ سکرپٹ)، OAuth نجی کلیدی ترتیب (کبھی کبھی ایک موبائل ایپلی کیشنز کو ختم کرنے کے دوران حاصل کیا جاسکتا ہے) اور اجازت کوڈ کی حکمرانی کی خلاف ورزی (جب ایک سے زیادہ رسائی ٹوکن کو جاری کرنے کے لئے اجازت کا کوڈ ایک سے زیادہ سے زیادہ استعمال کیا جا سکتا ہے). یہ خطرات اوپر بیان کردہ ان سے کم عام ہیں، لیکن یہ انہیں کم خطرناک نہیں بناتا. ڈویلپر کو اس کے ویب ایپلی کیشن کے قابل اعتماد آپریشن کو یقینی بنانے کے لئے تمام ضروری طریقوں کو جاننا چاہئے.

ترجمہ مضمون کے مصنف: سائمن سالیبا.

اہم! تعلیمی مقاصد کے لئے صرف معلومات. برائے مہربانی قانون سازی کی تعمیل کریں اور غیر قانونی مقاصد کے لئے اس معلومات کو لاگو نہ کریں.

cisoclub.ru پر زیادہ دلچسپ مواد. ہم سبسکرائب کریں: فیس بک | VK | ٹویٹر | Instagram | ٹیلیگرام | زین | رسول | ICQ نیا | یو ٹیوب | پلس.

مزید پڑھ