প্রভাব
অনুপস্থিত নিরাপত্তা শিরোনামগুলিকে ক্লিকজ্যাকিং, ক্রস-সাইট স্ক্রিপ্টিং (XSS), বা সার্ভার পরিবেশ [S2] সম্পর্কে তথ্য সংগ্রহ করতে ব্যবহার করা যেতে পারে। যখন হেডার যেমন Content-Security-Policy (CSP) বা X-Frame-Options অসামঞ্জস্যপূর্ণভাবে রুট জুড়ে প্রয়োগ করা হয়, আক্রমণকারীরা সাইট-ব্যাপী নিরাপত্তা নিয়ন্ত্রণগুলিকে বাইপাস করার জন্য নির্দিষ্ট অরক্ষিত পথগুলিকে লক্ষ্য করতে পারে।
মূল কারণ
Next.js ডেভেলপারদের headers বৈশিষ্ট্য [S2] ব্যবহার করে next.config.js-এ প্রতিক্রিয়া শিরোনাম কনফিগার করতে দেয়৷ এই কনফিগারেশনটি পাথ ম্যাচিং ব্যবহার করে যা ওয়াইল্ডকার্ড এবং নিয়মিত এক্সপ্রেশন [S2] সমর্থন করে। নিরাপত্তার দুর্বলতাগুলি সাধারণত থেকে উদ্ভূত হয়:
- অসম্পূর্ণ পথ কভারেজ: ওয়াইল্ডকার্ড প্যাটার্নগুলি (যেমন,
/path*) সমস্ত অভিপ্রেত সাবরুটগুলিকে কভার নাও করতে পারে, নিরাপত্তা শিরোনাম [S2] ছাড়া নেস্টেড পৃষ্ঠাগুলি রেখে৷ - তথ্য প্রকাশ: ডিফল্টরূপে, Next.js
X-Powered-Byশিরোনাম অন্তর্ভুক্ত করতে পারে, যা ZXCVFIXVIBETOKEN1poweredByHeaderXVIBETOKEN1ZXCVXVIBETOKEN2 ZXCVXVIBETOKEN2 এর মাধ্যমে স্পষ্টভাবে নিষ্ক্রিয় না হলে ফ্রেমওয়ার্ক সংস্করণ প্রকাশ করে৷ - CORS মিসকনফিগারেশন:
headersঅ্যারের মধ্যে ভুলভাবে সংজ্ঞায়িতAccess-Control-Allow-Originশিরোনামগুলি সংবেদনশীল ডেটাheadersঅননুমোদিত ক্রস-অরিজিন অ্যাক্সেসের অনুমতি দিতে পারে৷
কংক্রিট ফিক্স
- অডিট পাথ প্যাটার্নস:
next.config.js-এর সমস্তsourceপ্যাটার্ন নিশ্চিত করুন যেখানে প্রয়োজনnext.config.jsবিশ্বব্যাপী হেডার প্রয়োগ করার জন্য উপযুক্ত ওয়াইল্ডকার্ড ব্যবহার করে (যেমন,/:path*)। - আঙ্গুলের ছাপ অক্ষম করুন:
X-Powered-Byহেডারকে [S2] পাঠানো থেকে আটকাতেnext.config.js-এpoweredByHeader: falseসেট করুন। - CORS সীমাবদ্ধ করুন:
headersকনফিগারেশন [S2]-এ ওয়াইল্ডকার্ডের পরিবর্তে নির্দিষ্ট বিশ্বস্ত ডোমেনেAccess-Control-Allow-Originসেট করুন৷
কিভাবে FixVibe এর জন্য পরীক্ষা করে
FixVibe অ্যাপ্লিকেশন ক্রল করে এবং বিভিন্ন রুটের নিরাপত্তা শিরোনাম তুলনা করে একটি সক্রিয় গেটেড প্রোব সম্পাদন করতে পারে। X-Powered-By শিরোনাম এবং বিভিন্ন পথের গভীরতা জুড়ে Content-Security-Policy এর ধারাবাহিকতা বিশ্লেষণ করে, FixVibe next.config.js-এ কনফিগারেশন ফাঁক সনাক্ত করতে পারে।
