যাই হোক, শুরু করা যাক, তবে যারা বেসিক টিউটোরিয়াল গুলো দেখেন নাই তাদের বলবো আমার বেসিক টিউটোরিয়াল গুলো দেখার জন্য।
SQLI কি ?
SQL হলো Structured Query Language, এটা একটা বিশেষ প্রোগ্রামীং ভাষা যা
ব্যবহার করে relational database management system (RDBMS) এর ডেটা
সমূহকে সম্পাদনা করা হয় । আমি জটিলতায় যাচ্ছি না কারন অনেক নতুন রা এটা
পড়বেন সহজ ভাষায় এটা database এ access করে ডেটা সম্পাদনা করতে সাহায্য করে
।
ডেটাবেজ (Database) কি ?
ডেটাবেজ হলো একটা ফাইল যেখানে ওয়েব সাইটের বিভিন্ন তথ্য সমূহ সাজানো থাকে
। যেমন: লাইব্রেরী তো সবাই দেখেছেন । লাইব্রেরী সব বই র্যাকে/তাকে
সাজানো থাকে ঠিক তেমননি টাবেজে সব তথ্য স্তরে স্তরে সাজানো থাকে ।
SQL কি কাজে লাগে ?
- SQL can execute queries against a database
- SQL can retrieve data from a database
- SQL can insert records in a database
- SQL can update records in a database
- SQL can delete records from a database
- SQL can create new databases
- SQL can create new tables in a database
- SQL can create stored procedures in a database
- SQL can create views in a database
- SQL can set permissions on tables, procedures, and views
(source:w3school)
এবার তাহলে SQLI জিনিস টা কি ?
আমি অলস মানুষ তাই নিচের উইকিপিডিয়ার লেখাটা দিলাম
SQL injection is a code injection technique, used to attack
data-driven applications, in which malicious SQL statements are
inserted into an entry field for execution (e.g. to dump the database
contents to the attacker).SQL injection must exploit a security vulnerability in an application's software, for example, when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and unexpectedly executed. SQL injection is mostly known as an attack vector for websites but can be used to attack any type of SQL database.
অনেক সহজ ভাবে এখানে SQLi এর সম্পর্কে বলা হয়েছে । আরো সহজ ভাষায় বলছি এটা
একটা পদ্ধতি যা ব্যবহার করে আমরা ডেটাবেজে কোনো পাসওয়ার্ড ছাড়াই access
নিতে পারবো এবং sensitive তথ্য বের করতে পারবো ।
SQLI কেনো লাগবে?
আগেই বলেছি আমরা এটা দিয়ে sensitive তথ্য বের করতে পারবো সুতরাং সাইটের এডমিন ইউজার নেম এবং পাসওয়ার্ড বের করতে এটা কাজে লাগবে অনেক ।
এবার আসুন ডেটাবেজে সাইটের তথ্য কিভাবে থাকে তা দেখি,
এখানে DBase 1 হলো ডেটাবেজ নেম, টেবিল এর নাম হলো table1 এবং স্টুডেন্ট । আপনাদের পূবেই বলেছি ডেটাবেজ বই এর লাইব্রেরী এর মত এখানে টেবিল হলো এক একটা বুক সেলফ এবং কলাম হলো তাক । আর লাইব্রেরী থেকে কোনো বই খুঁজে পেতে বইয়ের সেলফ এবং তাক দুটাই জানা লাগবে ।
ডেটাবেজ থেকে তথ্য বের করা :
আপনি যদি table1 থেকে column1 এবং column2 এর ডেটা বের করতে চান তবে quary হবে
রেজাল্ট পাবেন: একই ভাবে যদি students থেকে এর প্রথম কলামের ডেটা বের করতে চান তবে কোড হবে
Select * from students where id=1
রেজাল্ট হবে
এবার আপনি যদি কোনো নিদিষ্ট কলাম বের করতে চান তবে
Select * from students where f_name='camaline'
এখানে লাল কালার হলো টেবিল নেম, সবুজ কালার হলো কলাম নেম এবং ব্লু কালার হলো ডেটানেম, এর মানে হচ্ছে আমরা
students table এর যে f_name কলামের যেখানে camaline নাম টি বা ডেটাটি আছে তার ইনফো দেখতে
চাই তো রেজাল্ট হবে
যাইহোক এ সবই SQL এর বেসিক ছিলো SQLI করার সময় এগুলো জানা থাকলে অনেক কাজে লাগবে ।
শুধু তাই না এসব জিনিস SQLI দ্রুত শিখতে সাহয্য করবে ।
যাই হোক, পরবর্তী টিউটোরিয়ালে আমরা দেখবো কিভাবে একটা সাইট SQLI করে হ্যাক করা যায় তা ।
তবে আপাতত আপনারা SQL নিয়ে গবেষনা করুন ।
এই সাইটে SQL এর টিউটোরিয়াল পাবেন : http://www.w3schools.com/sql/
ধন্যবাদ - orginal past: "Orions Hunter"
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন