আপনি যদি একক উদ্ধৃতি ত্রুটি ভিত্তিক ইনজেকশন , পূর্ণসংখ্যা ভিত্তিক ইনজেকশনের মতো পদ্ধতিগুলির সাথে ডাটাবেসগুলি হ্যাক করার চেষ্টা করছেন তবে ডেটাবেসগুলি সেই পদ্ধতিগুলির জন্য ঝুঁকিপূর্ণ নয় ইনজেকশন ব্যর্থ হবে এবং আপনি ডাটাবেসের সাথে সংযোগ করতে পারবেন না।
সংক্ষেপে, এরর ভিত্তিক এসকিউএল ইনজেকশন একটি একক উদ্ধৃতি ব্যবহার করবে ক্যোয়ারী ভাঙতে এবং ক্যোয়ারীতে যোগ দিতে এবং ইন্টিজার ভিত্তিক ইনজেকশন একক উদ্ধৃতি ছাড়াই ক্যোয়ারীতে যোগদান করবে।
তাই আজ আমরা আরেকটি পদ্ধতি শিখতে চলেছি যা মাইএসকিউএল ডাটাবেসে ডাবল-কোট ইনজেকশন ।
এসকিউএল ইনজেকশন অনলাইন ল্যাব:
- নতুনরা এসকিউএল ইনজেকশনের জন্য দক্ষতা অনুশীলন করতে এই ওয়েবসাইটটি ব্যবহার করতে পারে
- LAB অ্যাক্সেস করতে এখানে ক্লিক করুন.
ধাপ 1: ক্যোয়ারী ভাঙা
- আমাকে ত্রুটি ভিত্তিক একক উদ্ধৃতি ইনজেকশন পদ্ধতি দিয়ে চেষ্টা করতে দিন http://leettime.net/sqlninja.com/tasks/basic_ch3.php?id=1′
- উপরের চিত্রটি কাজ করছে না ভিত্তিক একক উদ্ধৃতি ত্রুটি দেখায়।
- উপরের চিত্রটি দেখায় যে পূর্ণসংখ্যা ভিত্তিক পদ্ধতিটিও কাজ করছে না।
- উপরের চিত্রটি দেখায় যে ডাবল কোটগুলি ডাটাবেসকে ভেঙে দিচ্ছে তাই এটি এসকিউএল ইনজেকশনের জন্য ঝুঁকিপূর্ণ
ধাপ 2: ত্রুটি বিবৃতি অনুলিপি করা
- নোটপ্যাডে SQL এরর স্টেটমেন্ট কপি এবং পেস্ট করুন।
- উপরের চিত্র দেখায় যে হাইলাইট করা ডাবল কোটগুলি ব্যাকএন্ড ডাটাবেসকে ভেঙে দিচ্ছে
- যখন আমরা দ্বিগুণ উদ্ধৃতি যোগ করি যা এই প্রশ্নের সাথে মেলে না যেমন ব্যবহারকারীর নাম নির্বাচন করুন, টেবিল থেকে পাসওয়ার্ড নির্বাচন করুন যেখানে id =”1″”
- এখন আপনি খুঁজে পেতে পারেন এটি ডাবল কোট এরর ভিত্তিক স্ট্রিং ইনজেকশন ।
ধাপ 3: কোয়েরিতে যোগদান করা
- ক্যোয়ারীতে যোগ দিতে আসুন –+ যোগ করি http://leettime.net/sqlninja.com/tasks/basic_ch3.php?id=1″ –+
- উপরের চিত্রটি ব্যাখ্যা করে যে এসকিউএল ত্রুটিগুলি –+ দিয়ে সংশোধন করা হয়েছে
- দূষিত কোড রাখা যাই হোক না কেন ডাটাবেসের সাথে কথা বলবে এবং এখন পর্যন্ত আপনি সফলভাবে ক্যোয়ারী ভেঙ্গেছেন, ক্যোয়ারীতে যোগ দিয়েছেন এবং অবশেষে খুঁজে পেয়েছেন এটি ডাবল কোট এরর ভিত্তিক স্ট্রিং ইনজেকশন।
ধাপ 4: ব্যাকএন্ড কলাম খুঁজে বের করা
- কলামের সংখ্যা খুঁজে পেতে ডাটাবেসের সাথে কথোপকথনের সময় এসেছে। কলাম গণনা করতে আমরা কমান্ড দ্বারা ক্রম ব্যবহার করতে পারি।
- উপরের চিত্রে ‘অর্ডার ক্লজ’-এ অজানা কলাম ‘6’ এরর স্টেটমেন্ট সহ ডেটাবেস দেখায় এবং এই ত্রুটি বিবৃতিটি বলে “ডাটাবেসে মাত্র 5টি কলাম রয়েছে”।
ধাপ 5: ব্যাকএন্ড টেবিল খুঁজে বের করা
- SQL ব্যাকএন্ডে খালি ডেটা সহ আরও টেবিলের নাম থাকতে পারে। তাই আপনাকে প্রথমে খুঁজে বের করতে হবে কোন টেবিলের নাম এই 5টি কলামে রয়েছে।
- এখন আমরা বিদ্যমান ইউআরএল থেকে সমস্ত নির্বাচন করে ইউনিয়ন সহ 5টি কলাম নির্বাচন করতে পারি
- উপরে সচিত্র চিত্র দেখায় ব্যবহারকারীর নাম হল: 2 ডাটাবেসের 2য় কলামে টেবিলের নামের প্রতিনিধিত্বকারী মান হিসেবে। এখন আমরা সফলভাবে ডাটাবেসে টেবিলের অবস্থান খুঁজে পেয়েছি
ধাপ 6: ব্যাকএন্ড টেবিলের নাম খোঁজা
- আমরা ইতিমধ্যেই টেবিল পাথের অবস্থান জানতাম, তাই সরাসরি ডাটাবেসের নাম, সংস্করণ ইত্যাদি জিজ্ঞাসা করব
- উপরের পরিসংখ্যান leettime_761wHole হিসাবে ডাটাবেসের নাম দেখায়
- উপরের পরিসংখ্যান 5.6.36-cll-lve হিসাবে ডাটাবেস সংস্করণ দেখায়
ধাপ 7: ডাম্পিং ডাটাবেস টেবিল
- Group_concat() হল ফাংশনটি একটি গ্রুপ থেকে সংযুক্ত নন-NULL মান সহ একটি স্ট্রিং প্রদান করে।
- তাই আমরা ডাটাবেস থেকে সমস্ত টেবিল তালিকাভুক্ত করতে এই ফাংশনটি ব্যবহার করতে পারি।
- উপরন্তু, আমরা একটি ডাটাবেসের মধ্যে বস্তু সম্পর্কে মেটাডেটা দেখতে Information_Schema ব্যবহার করতে পারি।
- উপরের চিত্রটি testtable1 , userlogs, user হিসাবে সমস্ত টেবিলের ডাম্প দেখায় ।
ধাপ 8: টেবিলের কলামে সমস্ত ডেটা ডাম্প করা
- আমরা userlogs ডাম্প করতে পারেন
- উপরের চিত্রটি টেবিলের সমস্ত কলামের ডাম্প দেখায় আইডি, ব্যবহারকারীর নাম, কর্ম, তারিখ রয়েছে
ধাপ 9: সমস্ত ব্যবহারকারীর নাম ডাম্পিং
- এখানে আমরা ডাটাবেসের সমস্ত ব্যবহারকারীর নাম ডাম্প করতে পারি।
- উপরের চিত্রটি সমস্ত ব্যবহারকারীর নাম Zen,Inj3ct0r,Zenodermus,decompiler এর ডাম্প দেখায়
ধাপ 10: সমস্ত তারিখ ডাম্পিং
- এখন আমরা সব তারিখ ডাম্প করতে পারেন
- উপরের চিত্রটি ডাটাবেসে ব্যবহারকারীর তৈরি সমস্ত তারিখের ডাম্প দেখায়। হ্যাপি হ্যাকিং!!!