সিকিউরিটি ক্লাসঃ ইনজেকশন অ্যাটাক পর্ব :2

8
443

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

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

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

গত পর্বে আমরা জেনেছিলাম  SQL INJECTION অ্যাটাক কিভাবে হয়। আজকে আমরা জানব  এ ধরনের অ্যাটাক কেন হয় এবং সমকক্ষ আক্রমন সম্পর্কে।

SQL INJECTION অ্যাটাক কিভাবে হয়:

সহজ কথায়,  কোন প্রোগ্রামার তার প্রোগ্রামটি তৈরি করার সময় কোথাও কোন ভুল করলে এই অঘটনটি ঘটে। আরও বিস্তারিত জানতে চলুন দেখি উইকিপেডিয়া কি বলে ??

“SQL injection vulnerabilities most commonly occur when the Web application developer does not ensure that values received from a Web form, cookie, input parameter, and so forth are validated before passing them to SQL queries that will be executed on a database server. If an attacker can control the input that is sent to an SQL query and manipulate that input so that the data is interpreted as code instead of as data, the attacker may be able to execute code on the back-end database ”

অর্থাৎ এই আক্রমণটি তখনই সম্ভব যখন ওয়েব ডেভেলপার তার প্রোগ্রামের সুরক্ষা নিশ্চিত করতে বার্থ হন।

সুত্র : উইকিপেডিয়া

injection attack সিকিউরিটি ক্লাসঃ ইনজেকশন অ্যাটাক পর্ব :2
INJECTION ATTACKS

একটি উদাহরন দেই :

মনে করুন একটি ফর্ম। এটির কাজ হল ইউজার থেকে ইনপুট নিয়ে ডাটাবেসের সাথে মিলিয়ে দেখা। যদি ইউজার এর তথ্য ডাটাবেসের সাথে মিলে যায় তাহলে ইউজার পেজটি দেখতে পারবেন অন্যথা তাকে সেই পেজ দেখতে দেওয়া হবে না।

আমাদের url টি হল ঃ

http://localhost/index.asp?category=food

এখানে ‘category’ হল variable এবং food হল value।

এটি হল আমাদের কোড :

v_cat = request(“category”)

sqlstr=”SELECT * FROM product WHERE PCategory='” & v_cat & “‘”

set rs=conn.execute(sqlstr)

এখন আমারা দেখতে পাচ্ছি যে আমাদের variable টি v_cat এর স্থানে বসবে। এতে করে আমাদের SQL statement  হল ঃ

SELECT * FROM product WHERE PCategory=’food’

এর রেজাল্ট হিসেবে আমরা  ‘food’  ক্যাটাগরি থেকে এক বা আকাধিক  ROW দেখতে পাবো।

আমরা যদি URL টি পরিবর্তন করি তাহলে কি হবে?
http://localhost/index.asp?category=food’ or 1=1–

“food’ or 1=1– ” হবে আমাদের SQL query

ফলে SQL statement   হবে

SELECT * FROM product WHERE PCategory=’food’ or 1=1–‘

এর রেজাল্ট হিসেবে  product table এর সব row দেখাবে ।

কারণ কি ??
আমাদের কোড এ শুধু বলা হইসে যে যদি ফুড এর সাথে মিলে যায় তাহলে ফুড টেবিল এর রো দেখান হবে। তার মানে মিললে দেখাবে না মিললে নাই। কিন্তু আমরা যখন ডাবল ড্যাশ ব্যবহার করেছি তখন এটি এটি র কুএরি করে নাই।

মূলত এই সব ছোট-খাট ভুল এর জন্যই অঘটন ঘটে। এবং এর মাধ্যমে পুরো ডাটাবেস এর ক্ষতি হয়।

(NB: example platform was a MS SQL server )

সমধর্মী আক্রমন সমূহ

* LDAP INJECTION

* OS COMMAND INJECTION

* XSLT INJECTION

* XPATH INJECTION

* LOG INJECTION

* XML INJECTION

এই সব অ্যাটাক সমূহ ও sql injection  এর মত মারাত্মক এবং আক্রমণ কৌশল ও অনেকটা একই রকম।

আজকে আমরা জানলাম sql injection  অ্যাটাক কেন হয় এবং সমকক্ষ আক্রমন সম্পর্কে। আগামী দিন আমরা কথা বলব কিভাবে এটি প্রতিহত করা যায়। সে পর্যন্ত সাথেই থাকুন।

BANGLADESH CYBER ARMY

আমাদের সাথে যোগ দিন  http://www.facebook.com/groups/bdcyberarmy/

Facebook fanpage : https://www.facebook.com/BDCyberArmy

কৃতজ্ঞতায় : শাহী মীর্জা, SCRIPT KIDDE, মারুফ আলম ,ইস্তিয়াক আহমেদ, রহিত, অসামাজিক সাকিব, ডেজার্ট রোজ, হেলার বিডিযাদের ছাড়া এই পোস্টটা লেখা সম্ভব হতো না

 

টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

8 মন্তব্য

  1. আমি একটু অসুস্থ , ৩য পোস্ট তা হতে দেরী হতে পারে . সে জন্য আমি দুক্ষিত . আসা করি সাথেই থাকবেন .

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here

1 × three =