SQL Injection (SQLi) Basic Guide In Bangla

সবকিছু জানুন: SQL Injection (SQLi) এর বেসিক গাইড


লেখক: আবদুল্যাহ আল মাহমুদ



বর্তমান ডিজিটাল যুগে ওয়েবসাইট এবং অ্যাপ্লিকেশনগুলো ডেটাবেসের উপর নির্ভরশীল। তবে ভুল কনফিগারেশন এবং দুর্বল কোডিংয়ের কারণে এই ডেটাবেসগুলো হয়ে পড়ে আক্রমণের শিকার। SQL Injection (SQLi) হলো একটি এমন টেকনিক, যার মাধ্যমে আক্রমণকারী ওয়েবসাইটের ডেটাবেসে অবৈধ প্রবেশ করতে পারে।
আজকের এই ব্লগে আমরা জানবো SQL Injection এর বেসিক বিষয়গুলো, কিভাবে কাজ করে, এর ঝুঁকি ও নিরাপত্তার পদ্ধতি সম্পর্কে।


SQL Injection কি?

SQL Injection (SQLi) হচ্ছে একটি কোড ইনজেকশন টেকনিক যেখানে হ্যাকার ইনপুট ফিল্ড বা URL প্যারামিটারে ম্যালিশাস SQL কমান্ড যোগ করে ডেটাবেসের সাথে অবৈধভাবে ইন্টার‍্যাক্ট করতে পারে।

সহজ ভাষায় বললে:
যদি কোনো ওয়েবসাইট ইউজারের ইনপুট ঠিকমতো যাচাই না করে সরাসরি SQL Query-তে বসায়, তখন হ্যাকার সেই ইনপুটের মধ্যে বিশেষ কোড ঢুকিয়ে ডেটাবেসের নিয়ন্ত্রণ নিতে পারে।


SQL Injection কিভাবে কাজ করে?


ধরা যাক, কোনো ওয়েবসাইটের লগইন সিস্টেমে নিচের মতো কোড চলে:

SELECT * FROM users WHERE username = '$username' AND password = '$password';


এখন যদি ইউজারনেমের জায়গায় কেউ নিচের ইনপুট দেয়:

' OR '1'='1

তাহলে Query হবে:

SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '$password';

এখানে 1=1 সবসময় সত্য হয়। ফলে লগইন সিস্টেম বাইপাস হয়ে যাবে এবং হ্যাকার প্রবেশ করতে পারবে।


SQL Injection এর প্রকারভেদ

১. Classic SQLi:
সরাসরি ইনপুটের মাধ্যমে SQL Query ভেঙে ডেটাবেসে কমান্ড চালানো হয়।

২. Blind SQLi:
যখন সার্ভার কোনো error দেখায় না, তখন হ্যাকার লজিক দিয়ে তথ্য বের করে।

৩. Error-Based SQLi:
ওয়েবসাইটের error message থেকে ডেটাবেসের গঠন সম্পর্কে ধারণা নেওয়া হয়।

৪. Union-Based SQLi:
UNION keyword ব্যবহার করে একাধিক টেবিলের তথ্য একত্র করে বের করা হয়।


SQL Injection দিয়ে কী কী করা সম্ভব?

  • সকল ইউজারনেম ও পাসওয়ার্ড বের করা

  • অ্যাডমিন অ্যাক্সেস নেওয়া

  • ডাটাবেসের তথ্য মুছে ফেলা বা পরিবর্তন করা

  • সার্ভারে শেল আপলোড করে ওয়েবসাইট দখল নেওয়া

  • পুরো সার্ভার Takeover করা


SQL Injection একটি অতিপরিচিত এবং ভয়ঙ্কর আক্রমণের মাধ্যম। একজন সাইবার সিকিউরিটি স্পেশালিস্ট বা ওয়েব ডেভেলপার হিসেবে আপনাকে
অবশ্যই SQLi সম্পর্কে গভীর ধারণা রাখতে হবে এবং নিরাপত্তা নিশ্চিত করতে হবে।

1 تعليقات