XSS এবং SQL ইনজেকশনের মধ্যে মূল পার্থক্য হল যে XSS (বা ক্রস সাইট স্ক্রিপ্টিং) হল এক ধরনের কম্পিউটার নিরাপত্তা দুর্বলতা যা ওয়েবসাইটে ক্ষতিকারক কোড ইনজেক্ট করে যাতে কোডটি সেই ওয়েবসাইটের ব্যবহারকারীদের মধ্যে চলে ব্রাউজার যখন এসকিউএল ইনজেকশন হল আরেকটি ওয়েবসাইট হ্যাকিং পদ্ধতি যা রিসোর্সে অ্যাক্সেস পেতে বা ডেটাতে পরিবর্তন করতে ওয়েব ফর্ম ইনপুট বক্সে SQL কোড যোগ করে।
প্রতিটি প্রতিষ্ঠান ওয়েবসাইট রক্ষণাবেক্ষণ করে, যা ব্যবসা এবং লাভজনকতা উন্নত করতে সাহায্য করে। একটি ওয়েব অ্যাপ্লিকেশনে ক্লায়েন্ট সাইড এবং সার্ভার সাইড থাকে। ক্লায়েন্ট সাইডে অ্যাপ্লিকেশনটির সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহারকারীর ইন্টারফেস অন্তর্ভুক্ত থাকে।সার্ভার সাইড ডাটাবেস অন্তর্ভুক্ত. সাধারণত, এমন হুমকি রয়েছে যা অ্যাপ্লিকেশনটির সঠিক কার্যকারিতাকে প্রভাবিত করে। এর মধ্যে দুটি হল XSS এবং SQL ইনজেকশন৷
XSS কি?
XSS এর অর্থ ক্রস সাইট স্ক্রিপ্টিং, এবং এটি সবচেয়ে সাধারণ ওয়েবসাইট আক্রমণগুলির মধ্যে একটি। এটি সেই নির্দিষ্ট ওয়েবসাইটের পাশাপাশি সেই ওয়েবসাইটের ব্যবহারকারীদের প্রভাবিত করতে পারে৷ XSS আক্রমণের জন্য দূষিত কোড লেখার জন্য সবচেয়ে সাধারণ ভাষা হল জাভাস্ক্রিপ্ট। XSS ব্যবহারকারীর কুকি চুরি করতে পারে, ব্যবহারকারীর সেটিং পরিবর্তন করতে পারে, বিভিন্ন ম্যালওয়্যার ডাউনলোড প্রদর্শন করতে পারে এবং আরও অনেক কিছু।
চিত্র 01: XSS
XSS দুই প্রকার। তারা হল অবিরাম এবং অস্থায়ী XSS। ক্রমাগত XSS-এ, ক্ষতিকারক কোড ডাটাবেসের সার্ভারে সংরক্ষণ করে। তারপর এটি স্বাভাবিক পৃষ্ঠায় চলবে। অ-স্থায়ী XSS-এ, ইনজেকশন করা দূষিত কোড একটি HTTP অনুরোধের মাধ্যমে সার্ভারে পাঠানো হবে।সাধারণত, এই আক্রমণগুলি অনুসন্ধান ক্ষেত্রে ঘটতে পারে৷
এসকিউএল ইনজেকশন কি?
SQL ইনজেকশন হল আরেকটি ওয়েবসাইট হ্যাকিং প্রক্রিয়া। এটি ওয়েব পেজ ইনপুটের মাধ্যমে SQL স্টেটমেন্টে একটি দূষিত কোড রাখে। একটি ওয়েবসাইটে ব্যবহারকারীর ইনপুট সংগ্রহ করার জন্য ফর্ম রয়েছে। ব্যবহারকারীর কাছে ব্যবহারকারীর নাম, userid এর মতো ইনপুট জিজ্ঞাসা করার সময় তিনি নাম এবং এটির পরিবর্তে একটি SQL বিবৃতি প্রদান করতে পারেন। সুতরাং, এটি ওয়েবসাইট ডাটাবেসে চলতে পারে।
চিত্র 02: SQL ইনজেকশন
উপরন্তু, এসকিউএল ইনজেকশনের কয়েকটি উদাহরণ নিম্নরূপ;
ইউজারআইডির মাধ্যমে একজন ব্যবহারকারীকে অনুসন্ধান করার পরিস্থিতি হতে পারে। কোনো ইনপুট বৈধতা পদ্ধতি না থাকলে, ব্যবহারকারী একটি ভুল ইনপুট প্রবেশ করতে পারেন। যদি সে 100 বা 1=1 হিসাবে userid প্রবেশ করে, তাহলে এটি নিম্নরূপ একটি SQL স্টেটমেন্ট তৈরি করবে।
ব্যবহারকারীদের থেকেনির্বাচন করুন যেখানে userid=100 বা 1=1;
এই SQL বিবৃতিটি ডাটাবেসের সমস্ত ব্যবহারকারীকে ফিরিয়ে দিতে পারে কারণ 1=1 সর্বদা সত্য। যদি এটি হ্যাকার হয়ে থাকে এবং যদি ডাটাবেসে পাসওয়ার্ডের মতো গোপনীয় তথ্য থাকে, তবে সে ব্যবহারকারীর নাম এবং পাসওয়ার্ডগুলিতে অ্যাক্সেস পেতে পারে। এটি এসকিউএল ইনজেকশনের একটি উদাহরণ৷
XSS এবং SQL ইনজেকশনের মধ্যে পার্থক্য কী?
XSS হল ওয়েব অ্যাপ্লিকেশনের এক ধরনের কম্পিউটার নিরাপত্তা দুর্বলতা যা আক্রমণকারীদের অন্য ব্যবহারকারীদের দ্বারা দেখা ওয়েব পৃষ্ঠাগুলিতে ক্লায়েন্ট-সাইড স্ক্রিপ্ট ইনজেক্ট করতে সক্ষম করে। এসকিউএল ইনজেকশন হল একটি কোড ইনজেকশন টেকনিক, যা ডেটা চালিত অ্যাপ্লিকেশানগুলিকে আক্রমণ করে যা এক্সিকিউশনের জন্য দায়ের করা একটি এন্ট্রিতে এসকিউএল স্টেটমেন্ট সন্নিবেশ করে।
XSS ওয়েবসাইটে দূষিত কোড ইনজেক্ট করে, যাতে সেই কোডটি সেই ওয়েবসাইটের ব্যবহারকারীদের ব্রাউজারে চলে। অন্যদিকে, এসকিউএল ইনজেকশন একটি ওয়েব ফর্ম ইনপুট বক্সে এসকিউএল কোড যোগ করে রিসোর্সে অ্যাক্সেস পেতে বা ডেটাতে পরিবর্তন করতে।এটি XSS এবং SQL ইনজেকশনের মধ্যে প্রধান পার্থক্য। XSS-এর জন্য সবচেয়ে সাধারণ ভাষা হল JavaScript যখন SQL ইনজেকশন SQL ব্যবহার করে।
সারাংশ – XSS বনাম SQL ইনজেকশন
XSS এবং SQL ইনজেকশনের মধ্যে পার্থক্য হল যে XSS ওয়েবসাইটে ক্ষতিকারক কোড ইনজেক্ট করে, যাতে সেই কোড ব্রাউজার দ্বারা সেই ওয়েবসাইটের ব্যবহারকারীদের মধ্যে কার্যকর হয় যখন SQL ইনজেকশন ওয়েব ফর্ম ইনপুট বক্সে SQL কোড যোগ করে সম্পদে অ্যাক্সেস পেতে বা ডেটাতে পরিবর্তন করতে।