SQL ইনজেকশন লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান
SQL ইনজেকশন লেবেলটি সহ পোস্টগুলি দেখানো হচ্ছে৷ সকল পোস্ট দেখান

বুধবার, ৯ এপ্রিল, ২০২৫

SQL ইনজেকশনের রহস্য উন্মোচন: ইথিকাল হ্যাকিং গাইড (ডে-৬)

SQL ইনজেকশন শিখুন: ওয়েব অ্যাপ্লিকেশন সিকিউরিটি (ডে-৬) | ইথিকাল হ্যাকিং SQL ইনজেকশন ও ওয়েব সিকিউরিটি

ইথিকাল হ্যাকিং ডে-৬: SQL ইনজেকশন - সম্পূর্ণ বাংলা গাইড

🎯 আজকের লক্ষ্য কী?

আজ আমরা SQL ইনজেকশন নিয়ে গভীরভাবে আলোচনা করবো। এটা শিখে আপনি ওয়েবসাইটের নিরাপত্তা দুর্বলতা বুঝতে পারবেন এবং সেগুলো ঠিক করার উপায় জানতে পারবেন। আমাদের আজকের মূল বিষয়গুলো হলো:

  • SQL ইনজেকশন কী এবং এটা কীভাবে কাজ করে?
  • বাস্তব জীবনের কিছু উদাহরণ দিয়ে বোঝা।
  • DVWA নামে একটি টুল ব্যবহার করে হাতেকলমে প্র্যাকটিস।
  • কীভাবে এই আক্রমণ থেকে নিজেকে বাঁচানো যায়।

ধাপ ১: SQL ইনজেকশনের সহজ পরিচিতি

SQL ইনজেকশন হলো এমন একটি কৌশল, যেখানে একজন আক্রমণকারী ওয়েবসাইটের ইনপুট ফিল্ডে (যেমন লগইন ফর্মে) কিছু কোড লিখে ডাটাবেসের সাথে ছলনা করে। এর ফলে সে এমন তথ্য দেখতে বা বদলাতে পারে, যার অনুমতি তার থাকার কথা নয়।

একটি সহজ উদাহরণ দেখি:

ধরা যাক, একটি ওয়েবসাইটে লগইন করতে এমন একটি SQL কুয়েরি ব্যবহৃত হয়:

SELECT * FROM users WHERE username = 'admin' AND password = '12345'

এখন যদি কেউ পাসওয়ার্ড ফিল্ডে ' OR '1'='1 লিখে দেয়, তাহলে কুয়েরিটি এমন হবে:

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

এখানে '1'='1' সবসময় সত্য হয়। ফলে বৈধ পাসওয়ার্ড না জানলেও লগইন হয়ে যাবে! এটাই SQL ইনজেকশনের ম্যাজিক।

⚠️ একটু সাবধানতা

এই জ্ঞান শুধু ভালো কাজে ব্যবহার করুন। যেমন:

  • নিজের ওয়েবসাইটের নিরাপত্তা পরীক্ষা করতে।
  • অনুমতি নিয়ে পেনিট্রেশন টেস্টিং করতে।
  • শিক্ষার জন্য এবং দক্ষতা বাড়াতে।

অন্যের ক্ষতি করার জন্য এটি ব্যবহার করা একদম নিষিদ্ধ এবং অবৈধ।

ধাপ ২: DVWA দিয়ে শুরু করা

DVWA মানে "Damn Vulnerable Web Application"। এটা একটি প্র্যাকটিস টুল, যেটা দিয়ে আমরা নিরাপত্তা দুর্বলতা শিখতে পারি। এটি সেটআপ করতে এই ধাপগুলো অনুসরণ করুন:

  1. XAMPP বা WAMP ইন্সটল করুন: এটা আপনার কম্পিউটারে সার্ভার তৈরি করবে।
  2. DVWA ডাউনলোড করুন: এটি পাবেন এই GitHub লিঙ্কে
  3. ফাইল কপি করুন: DVWA ফোল্ডারটি XAMPP-এর "htdocs" ফোল্ডারে রাখুন।
  4. ব্রাউজারে চালু করুন: লিখুন http://localhost/DVWA
  5. লগইন করুন: ডিফল্ট ইউজারনেম admin এবং পাসওয়ার্ড password

সব ঠিক থাকলে আপনি DVWA-এর ড্যাশবোর্ড দেখতে পাবেন। এখানে প্র্যাকটিস শুরু করা যাবে!

ধাপ ৩: SQL ইনজেকশন হাতেকলমে শিখি

লগইন বাইপাস করা

DVWA-তে SQL ইনজেকশন সেকশনে গিয়ে এটি ট্রাই করুন:

ইউজারনেম: admin' -- পাসওয়ার্ড: যেকোনো কিছু লিখুন

এখানে -- মানে বাকি কুয়েরি বাদ দেওয়া। ফলে পাসওয়ার্ড চেক না করেই লগইন হবে।

ডাটাবেস থেকে তথ্য বের করা

এবার আরেকটু এডভান্সড কিছু দেখি:

' UNION SELECT username, password FROM users --

এটি ডাটাবেস থেকে সব ইউজারনেম এবং পাসওয়ার্ড দেখিয়ে দেবে। আশ্চর্যজনক, তাই না?

কীভাবে নিজেকে সুরক্ষিত রাখবেন?

SQL ইনজেকশন থেকে বাঁচতে এই পদ্ধতিগুলো ব্যবহার করুন:

পদ্ধতি কীভাবে কাজ করে?
Prepared Statements ইনপুটকে কুয়েরি থেকে আলাদা রাখে, ফলে কোড ইনজেক্ট করা যায় না।
Input Validation ইউজারের দেওয়া ডেটা চেক করে বিপজ্জনক ক্যারেক্টার বাদ দেয়।
WAF Web Application Firewall আক্রমণ শনাক্ত করে ব্লক করে।

এগুলো ব্যবহার করলে আপনার ওয়েবসাইট অনেক বেশি নিরাপদ হবে।

XSS (ক্রস-সাইট স্ক্রিপ্টিং) শিখুন: ওয়েব সিকিউরিটি গাইড | ইথিকাল হ্যাকিং ডে-৭

  XSS (ক্রস-সাইট স্ক্রিপ্টিং) শিখুন: ওয়েব সিকিউরিটি গাইড | ইথিকাল হ্যাকিং ডে-৭ ইথিকাল হ্যাকিং ডে-৭:...