XSS এবং CSRF এর মধ্যে মূল পার্থক্য হল, XSS (বা ক্রস সাইট স্ক্রিপ্টিং) তে, সাইটটি ক্ষতিকারক কোড গ্রহণ করে, যখন CSRF (বা ক্রস সাইট রিকোয়েস্ট ফরজারী), দূষিত কোডটি তৃতীয়টিতে সংরক্ষণ করা হয় পার্টি সাইট। XSS হল ওয়েব অ্যাপ্লিকেশনের এক ধরনের কম্পিউটার নিরাপত্তার দুর্বলতা যা আক্রমণকারীদের অন্য ব্যবহারকারীদের দ্বারা দেখা ওয়েব পৃষ্ঠাগুলিতে ক্লায়েন্ট-সাইড স্ক্রিপ্ট ইনজেক্ট করতে সক্ষম করে। অন্যদিকে, CSRF হল হ্যাকার বা ওয়েবসাইটের এক প্রকার দূষিত কার্যকলাপ যা অননুমোদিত কমান্ড প্রেরণ করে যা ব্যবহারকারীর ওয়েব অ্যাপ্লিকেশন বিশ্বাস করবে।
ওয়েব ডেভেলপমেন্ট হল ক্লায়েন্টের প্রয়োজনীয়তা অনুসারে একটি ওয়েবসাইট প্রোগ্রামিং করার প্রক্রিয়া।প্রতিটি প্রতিষ্ঠান ওয়েবসাইট রক্ষণাবেক্ষণ করে। এই ওয়েবসাইটগুলি ব্যবসার উন্নতি করতে এবং মুনাফা অর্জনে সহায়তা করে। একই সময়ে, ওয়েবসাইটের কার্যকারিতাকে প্রভাবিত করে এমন হুমকিও হতে পারে। তাদের মধ্যে দুটি হল XSS এবং CSRF৷
XSS কি?
XSS হল একটি কোড ইনজেকশন আক্রমণ যা ওয়েবসাইটে দূষিত কোড ইনজেক্ট করে। এটি সবচেয়ে সাধারণ ওয়েব সাইট আক্রমণগুলির মধ্যে একটি। এটি ওয়েবসাইটকে প্রভাবিত করতে পারে এবং সেই ওয়েবসাইটের ব্যবহারকারীদেরও প্রভাবিত করতে পারে। অন্য কথায়, যখন ওয়েবসাইটে একটি XSS আক্রমণ হয়, সেই কোডটি সেই ওয়েবসাইটের ব্যবহারকারীদের ব্রাউজার দ্বারা কার্যকর করা হবে৷
চিত্র 01: XSS আক্রমণ
XSS-এর জন্য ক্ষতিকারক কোড লেখার জন্য একটি সাধারণ ভাষা হল জাভাস্ক্রিপ্ট। XSS ব্যবহারকারীর কুকি চুরি করতে পারে। এটি ভিন্নভাবে দেখতে এবং আচরণ করার জন্য ওয়েবপৃষ্ঠাটিকে পরিবর্তন করতে পারে। উপরন্তু, এটি ম্যালওয়্যার ডাউনলোড প্রদর্শন করতে পারে এবং ব্যবহারকারীর সেটিংস পরিবর্তন করতে পারে।
এক্সএসএস আক্রমণ দুই প্রকার। তাদের বলা হয় স্থির এবং অবিরাম। ক্রমাগত XSS আক্রমণে, দূষিত কোড ওয়েবসাইট ডাটাবেসে সংরক্ষণ করা হয়। ব্যবহারকারী কোনো জ্ঞান ছাড়াই এটি অ্যাক্সেস করতে পারে। অবিরাম XSS আক্রমণকে প্রতিফলিত XSSও বলা হয়। এটি একটি HTTP অনুরোধ হিসাবে দূষিত স্ক্রিপ্ট পাঠায়। এগুলি XSS-এ প্রধান দুটি প্রকার৷
CSRF কি?
একটি ওয়েবসাইটে, একটি ক্লায়েন্ট সাইড এবং সার্ভার সাইড থাকে। ওয়েব পেজ, ফর্ম ক্লায়েন্ট সাইডে আছে. ব্যবহারকারী যখন কাজ করে তখন সার্ভার সাইড একটি ক্রিয়া সম্পাদন করে। সার্ভার সাইড অন্যান্য ওয়েবসাইট থেকেও অনুরোধ পায়৷
CSRF আক্রমণ ব্যবহারকারীকে তৃতীয় পক্ষের সাইটে একটি পৃষ্ঠা বা স্ক্রিপ্টের সাথে ইন্টারঅ্যাক্ট করার কৌশল করে। এটি ব্যবহারকারীর সাইটে একটি দূষিত অনুরোধ তৈরি করবে। কিন্তু সার্ভার অনুমান করে যে এটি একটি অনুমোদিত ওয়েবসাইটের অনুরোধ। যখন ব্যবহারকারী এটি গ্রহণ করে, তখন একজন আক্রমণকারী অনুরোধে পাঠানো ডেটা ব্যবহার করে নিয়ন্ত্রণ নিতে পারে।
একটি উদাহরণ নিম্নরূপ।একজন ব্যবহারকারী তার ব্যাঙ্ক অ্যাকাউন্টে লগ ইন করেন। ব্যাংক তাকে একটি সেশন টোকেন প্রদান করে। একজন হ্যাকার ব্যাঙ্কের দিকে নির্দেশ করে এমন একটি জাল লিঙ্কে ক্লিক করার জন্য ব্যবহারকারীকে প্রতারণা করতে পারে। ব্যবহারকারী যখন লিঙ্কে ক্লিক করেন, এটি পূর্ববর্তী সেশন টোকেন ব্যবহার করে। তারপরে, হ্যাকারের অনুরোধ কার্যকর হয় এবং ব্যবহারকারীর অ্যাকাউন্ট হ্যাক হয়। সে তার অ্যাকাউন্ট থেকে টাকা ট্রান্সফার করতে পারে। ব্যাঙ্কের কাছে অনুরোধ জাল কারণ এটি ব্যবহারকারীর একই সেশন টোকেন ব্যবহার করে। সামগ্রিকভাবে, ওয়েব ডেভেলপমেন্টে CSRF আক্রমণ থেকে ওয়েবসাইটকে কীভাবে রক্ষা করা যায় তা জানা গুরুত্বপূর্ণ।
XSS এবং CSRF-এর মধ্যে পার্থক্য কী?
XSS এর অর্থ ক্রস সাইট স্ক্রিপ্টিং, এবং CSRF এর অর্থ ক্রস সাইট অনুরোধ জালিয়াতি। XSS হল ওয়েব অ্যাপ্লিকেশনের এক ধরনের কম্পিউটার নিরাপত্তা দুর্বলতা যা আক্রমণকারীদের অন্য ব্যবহারকারীদের দ্বারা দেখা ওয়েব পৃষ্ঠাগুলিতে ক্লায়েন্ট-সাইড স্ক্রিপ্টগুলি ইনজেক্ট করতে সক্ষম করে। CSRF হল হ্যাকার বা ওয়েবসাইটের এক প্রকার দূষিত কার্যকলাপ যা অননুমোদিত কমান্ড প্রেরণ করে যা ব্যবহারকারীর ওয়েব অ্যাপ্লিকেশন বিশ্বাস করবে। এছাড়াও, দূষিত কোড লেখার জন্য XSS-এর জাভাস্ক্রিপ্টের প্রয়োজন হয় যখন CSRF-এর জাভাস্ক্রিপ্টের প্রয়োজন হয় না।
উপরন্তু, XSS-এ, সাইটটি ক্ষতিকারক কোড গ্রহণ করে যখন CSRF-এ, ক্ষতিকারক কোডটি তৃতীয় পক্ষের সাইটগুলিতে সংরক্ষণ করা হয়। এটি XSS এবং CSRF এর মধ্যে প্রধান পার্থক্য। সাধারণত, XSS আক্রমণের জন্য ঝুঁকিপূর্ণ একটি সাইটও CSRF আক্রমণের জন্য ঝুঁকিপূর্ণ। যাইহোক, XSS থেকে সুরক্ষা আছে এমন একটি সাইট এখনও CSRF আক্রমণের জন্য ঝুঁকিপূর্ণ হতে পারে৷
সারাংশ – XSS বনাম CSRF
XSS এবং CSRF হল একটি ওয়েবসাইটের দুই ধরনের আক্রমণ৷ XSS-এর পূর্ণরূপ হল Cross Site Scripting যখন CSRF হল Cross Site Request Forgery। XSS এবং CSRF-এর মধ্যে পার্থক্য হল, XSS-এ, সাইটটি ক্ষতিকারক কোড গ্রহণ করে যখন, CSRF-এ, দূষিত কোডটি তৃতীয় পক্ষের সাইটগুলিতে সংরক্ষণ করা হয়৷