প্রভাব
একজন আক্রমণকারী একটি দুর্বল অ্যাপ্লিকেশন [S2] ব্যবহারকারীদের কাছ থেকে সংবেদনশীল, প্রমাণীকৃত ডেটা চুরি করতে পারে। যদি কোনও ব্যবহারকারী দুর্বল অ্যাপে লগ ইন করার সময় একটি দূষিত ওয়েবসাইট পরিদর্শন করে, তাহলে দূষিত সাইটটি অ্যাপের API-এ ক্রস-অরিজিন অনুরোধ করতে পারে এবং প্রতিক্রিয়াগুলি [S1][S2] পড়তে পারে৷ এর ফলে ব্যবহারকারীর প্রোফাইল, CSRF টোকেন বা ব্যক্তিগত বার্তা [S2] সহ ব্যক্তিগত তথ্য চুরি হতে পারে৷
মূল কারণ
CORS হল একটি HTTP-শিরোনাম ভিত্তিক প্রক্রিয়া যা সার্ভারগুলি [S1] সম্পদগুলি লোড করার জন্য কোন উৎসগুলি (ডোমেন, স্কিম বা পোর্ট) অনুমোদিত তা নির্দিষ্ট করতে দেয়৷ দুর্বলতা সাধারণত দেখা দেয় যখন একটি সার্ভারের CORS নীতি খুব নমনীয় বা খারাপভাবে বাস্তবায়িত হয় [S2]:
- প্রতিফলিত অরিজিন হেডার: কিছু সার্ভার একটি ক্লায়েন্ট অনুরোধ থেকে
Originশিরোনামটি পড়ে এবংAccess-Control-Allow-Origin(ACAO) প্রতিক্রিয়া শিরোনাম [S2] এ এটিকে আবার প্রতিধ্বনিত করে৷ এটি কার্যকরভাবে যেকোনো ওয়েবসাইটকে [S2] রিসোর্স অ্যাক্সেস করার অনুমতি দেয়। - ভুল কনফিগার করা ওয়াইল্ডকার্ড: যদিও
*ওয়াইল্ডকার্ড যেকোন উত্সকে একটি সংস্থান অ্যাক্সেস করার অনুমতি দেয়, এটি এমন অনুরোধের জন্য ব্যবহার করা যাবে না যার জন্য শংসাপত্রের প্রয়োজন (যেমন কুকিজ বা অনুমোদনের শিরোনাম) [S3]৷ বিকাশকারীরা প্রায়ই [S2] অনুরোধের উপর ভিত্তি করে গতিশীলভাবে ACAO হেডার তৈরি করে এটিকে বাইপাস করার চেষ্টা করে। - হোয়াইটলিস্টিং 'নাল': কিছু অ্যাপ্লিকেশান
nullমূলকে হোয়াইটলিস্ট করে, যা পুনঃনির্দেশিত অনুরোধ বা স্থানীয় ফাইলগুলির দ্বারা ট্রিগার করা যেতে পারে, যা ক্ষতিকারক সাইটগুলিকেnullউত্স হিসাবে মাস্করেড করার অনুমতি দেয়। [S2][S3]. - পার্সিং ত্রুটি:
Originহেডার যাচাই করার সময় রেজেক্স বা স্ট্রিং ম্যাচিংয়ে ভুলগুলি আক্রমণকারীদেরtrusted-domain.com.attacker.com[S2] এর মতো ডোমেন ব্যবহার করার অনুমতি দিতে পারে৷
এটা মনে রাখা গুরুত্বপূর্ণ যে CORS ক্রস-সাইট অনুরোধ জালিয়াতি (CSRF) [S2] এর বিরুদ্ধে সুরক্ষা নয়।
কংক্রিট ফিক্স
- একটি স্ট্যাটিক হোয়াইটলিস্ট ব্যবহার করুন: অনুরোধের
Originহেডার [S2] থেকে গতিশীলভাবেAccess-Control-Allow-Originহেডার তৈরি করা এড়িয়ে চলুন। পরিবর্তে, বিশ্বস্ত ডোমেন [S3] এর একটি হার্ডকোড করা তালিকার সাথে অনুরোধের উত্সের তুলনা করুন৷ - 'নাল' মূল এড়িয়ে চলুন:
nullআপনার অনুমোদিত উত্সের সাদা তালিকায় [S2] অন্তর্ভুক্ত করবেন না। - প্রমাণপত্র সীমাবদ্ধ করুন: নির্দিষ্ট ক্রস-অরিজিন মিথস্ক্রিয়া [S3]-এর জন্য একেবারে প্রয়োজন হলে শুধুমাত্র
Access-Control-Allow-Credentials: trueসেট করুন। - যথাযথ যাচাইকরণ ব্যবহার করুন: যদি আপনাকে একাধিক উত্স সমর্থন করতে হয়, নিশ্চিত করুন যে
Originশিরোনামের জন্য বৈধতা যুক্তি শক্তিশালী এবং সাবডোমেন বা অনুরূপ চেহারার ডোমেন [S2] দ্বারা বাইপাস করা যাবে না।
কিভাবে FixVibe এর জন্য পরীক্ষা করে
FixVibe এখন এটি একটি গেটেড সক্রিয় চেক হিসাবে অন্তর্ভুক্ত করে। ডোমেন যাচাইকরণের পর, active.cors একই-অরিজিন API অনুরোধ পাঠায় সিন্থেটিক আক্রমণকারীর সাথে এবং CORS প্রতিক্রিয়া শিরোনাম পর্যালোচনা করে। এটি প্রতিফলিত নির্বিচারে উৎপত্তি, ওয়াইল্ডকার্ড শংসাপত্রযুক্ত CORS, এবং অ-সর্বজনীন API শেষ পয়েন্টে ব্যাপক-খোলা API পাবলিক অ্যাসেট নয়েজ এড়াতে রিপোর্ট করে৷
