সিকিউরিটি ক্লাসঃ ইঞ্জেকশান অ্যাটাক পর্ব : ১

17
490

বাংলাদেশ সাইবার আর্মির পক্ষ থেকে সবাইকে স্বাগতম জানাচ্ছি আমি শাহারিয়ার রহমান। সাইবার আর্মি থেকে আমরা সিদ্ধান্ত নিয়েছি যে আমরা বাংলাদেশের সাইবার সিকুউরিটি কে এগিয়ে নিয়ে যাবার লক্ষে কাজ করবো ।

Bangladesh Cyber Army

এই টিউটোরিয়াল সিরিজটা মূলত সেই সব ওয়েবডেভলপারদের জন্য যারা সিকিউর ওয়েব আপ্লিকেশন তৈরি করতে চান। আর এর জন্য ইনজেকশন অ্যাটাক সম্পর্কে জানার মাধ্যমে শুরু করা শ্রেয়। আর তাই আমরা আমাদের এই টিউটোরিয়ালে খুব কমন কিছু অ্যাটাক সম্পর্কে জানবো এবং সেটা কিভাবে প্রতিহত করতে হই সেই সম্পর্কে খুব সংক্ষেপে আলোচনা করব।

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

আমরা টিউটোরিয়াল কয়েকটি ভাগে ভাগ করে পর্বে পর্বে পোস্ট করব। তাছাড়া বড় পোস্ট লেখতে আমার যেমন কষ্ট হবে তেমনি আপনাদেরও পড়তে বিরক্ত লাগবে।

কি কি থাকছে এই টিউটোরিয়ালে :

1. SQL INJECTION অ্যাটাক কিভাবে হয়
2. সমকক্ষ আক্রমন এবং এ ধরনের অ্যাটাক কেন হয় ?
3. সাধারণ প্রতিরক্ষায় করণীয়

 

SQL INJECTION অ্যাটাক কিভাবে হয় :

প্রথমে শুরু করি একটি মারাত্মক ইঞ্জেকশান অ্যাটাক : sql injection attack. দিয়ে।ইঞ্জেকশান অ্যাটাক অনেক মারাত্মক একটি আক্রমন। এটি এতটাই মারাত্মক যে প্রতি বছর এটি আক্রমন বিভাগে সবার অপরের সারিতে থাকে। এবং বর্তমানে এটিই অ্যাটাক বিভাগে ১ম স্থানে আছে।

আপনি হয়ত প্রশ্ন করতে পারেন যে কেন এটি এত মারাত্মক???
কারন গুলো হল :

১. এটি ওয়েব এপ্লিকেশন এ অনেক কমন
২. এটি exploit করা খুবই সোজা
৩.ছোট্ট ইঞ্জেকশান এর মাধ্যমে পুরো ডাটাবেস compromise  করা যায়
৪.অ্যাটাকার আপনার সাইট এর শুধু নয় , পুরো সার্ভারের নিয়ন্ত্রন নিতে পারবে (শর্ত প্রযোজ্য *)

আবার আসুন একটি উদাহরণ দেখি :

মনে করুন আপনার একটি  সাইট বানাবেন। এবং সেই সাইট এ একটি simple form  থাকবে যেটি গ্রাহক এর তথ্য চায়। ধরুন ফর্মটিতে ইউজার আইডি নাম্বার চাওয়া হবে এবং এবং যখন ইউজার তার আইডি নাম্বারটা দিবে তখন সেটি ইন্টারনেট-এর মাধ্যমে আপনার ওয়েব-এপ্লিকেশন প্রসেসিং হবে। এবং এর ফলে ডাটাবেস থেকে ইউজার-এর তথ্য ইউজার কে প্রদান করবে ।

এখন, বেশির ভাগ ওয়েবডেভলপাররা এই কাজটি করার জন্য তাদের ডাটাবেসটি তৈরি করেন sql proggraming  দ্বারা। । ইউজার যখন তার ফর্মটাতে তার তথ্য প্রদান করে,তখন sql program সেটিকে কমান্ড হিসেবে গ্রহন করে ইউজার কে তার ডাটাবেস থেকে তথ্য সরবরাহ করে।

bca সিকিউরিটি ক্লাসঃ ইঞ্জেকশান অ্যাটাক পর্ব : ১
simple form

 

 ধরুন আপনার প্রোগ্রামটা অনেক টা এরকম ঃ

private void queryDB(String userid) {
atring sql = “select * from users where id = ‘ “ + userid + “ ‘ “ ;
doQuery(sql);
}

এখন ইউজার যদি তার আইডি নাম্বার 101 দেয় , তাহলে হবে ঃ

private void queryDB(String  101 ) {
atring sql = “select * from users where userid = ‘ “ + 101 + “ ‘ “ ;
doQuery(sql);
}

আউটপুট হবে এই রকম

BCA সিকিউরিটি ক্লাসঃ ইঞ্জেকশান অ্যাটাক পর্ব : ১
output

 

এবং এখানেই ঘটে অঘটনটা।

কারণ, এই প্রোগ্রামটি কাজ করবে ঠিক মতই। কিন্তু এটি সিকিউর হবে না।
এবং এইখানেই মূলত ইঞ্জেকশান applicable হয়।

চলুন দেখি কি হয় ??
আপনার প্রোগ্রামে আমি যখন আমার আইডি তা দিব তখন সে আমাকে আমার তথ্য গুলো দেখাবে। এখন আমি যদি আমার আইডি এর পাশে  string  জুরে দেয়, তাহলে কি দারায় ??? চলুন দেখি ঃ
আমার আইডি 101।
আমি আমার আইডি দিলাম এবং পাশে  or 1=1 দিলাম।

এর ফলে আপনার ডাটাবেসে যে জিনিসটা ঘটবে সেটা হলঃ
private void queryDB(String  101 or 1=1) {
atring sql = “select * from users where userid = ‘ “ + 101 or  1=1 + “ ‘ “ ;
doQuery(sql);
}

আর এর ফলে আমি যে আউটপুট টা পাবো ঃ

BCA সিকিউরিটি ক্লাসঃ ইঞ্জেকশান অ্যাটাক পর্ব : ১
injected output

 

 

দেখা যাচ্ছে আমি আমার আইডি ত বটেই, আপনার ডাটাবেসের সকল আইডির তথ্য পেয়ে গেছি।

তার মানে এখানে যদি আমরা কিছু sql কমান্ড দেই তাহলে সেটা execute হবে ।

এটিই হল ইঞ্জেকশান অ্যাটাক। এখানে আমরা চেষ্টা করেছি যতটা সহজ ভাবে পারা যায় সেভাবে ইঞ্জেকশান অ্যাটাক এর একটি ধারনা দিতে।

আগামী পোস্টে “সমকক্ষ আক্রমন এবং এ ধরনের অ্যাটাক কেন হয় ?” এটি নিয়ে আলোচনা করব। ততক্ষণ পর্যন্ত আমাদের সাথেই থাকুন ।

আমাদের সাথে যোগ দিন ঃ http://www.facebook.com/groups/bdcyberarmy/

Facebook fanpage : https://www.facebook.com/BDCyberArmy

কৃতজ্ঞতায় : শাহী মীর্জা, SCRIPT KIDDE, মারুফ আলম ,ইস্তিয়াক আহমেদ, রহিত, অসামাজিক সাকিব, ডেজার্ট রোজ, হেলার বিডি …যাদের ছাড়া এই পোস্টটা লেখা সম্ভব হতো না ।

টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

17 মন্তব্য

  1. যেহেতু টাইপটি সংখা বাচক তাই “ইন্তেগের” করে দিলে নতুন কোনো স্কুয়াল কাজ করবে না

    ধন্যবাদ ! ভালো একটি বিসয় নিয়া কথা বলার জন্য . আশা করি ভবিস্যতে আরো ভালো লিখা পাব

  2. খুবই ভাল উদ্যোগ, অনেকের উপকার হবে, টিউন এর জন্য Bangladesh_Cyber_আর্মি কে ধন্যবাদ

  3. জটিল পোষ্ট। এবার বাংলাদেশের ওয়েবডেভেপাররা তাদের সিকিউরিটি আশা করি ঠিক করতে পারবে। :) আশা করি আমরা নিয়মিত এই সিরিজটি উপভোগ করতে পারবো :) ধন্যবাদ

    • হাহাহা দলতো “মানুষেরা ” মিলে করে ,আমি অনেক আগেই আপনাদের ফেসবুক পেজে যোগ দিয়েছি ভাই ,আপনাদের দল নিয়মিত এখানে লিখবে সে আশায় রইলাম :)

  4. ধন্যবাদ, অনেক উপকারী পোস্ট । আপনাদের মত মানুষরা এগিয়ে এলে অনেকের উপকার হবে ।

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here

thirteen + 11 =