Web Application Pentesting: জাভাস্ক্রিপ্ট না জানলে চলবে না!


 আমরা তো সবাই জানি জাভাস্ক্রিপ্ট (JS) ওয়েবপেজকে কতটা ইন্টারেক্টিভ করে তোলে। কিন্তু, ওয়েব এপ্লিকেশন পেনটেস্টিং এর ক্ষেত্রে JS এর গুরুত্ব যে কতটা, সেটা কি আমরা জানি?

ওয়েব এপ্লিকেশন পেনটেস্টিং এ এক্সপার্ট হতে হলে জাভাস্ক্রিপ্ট জানা মাস্ট।
কিন্তু কেন?
একটু চিন্তা করলেই ব্যাপারটা স্পষ্ট হয়ে যায়। আসলে, JS তো ক্লায়েন্ট সাইডে, মানে ইউজারের ব্রাউজারে চলে। ফলে, যদি JS এ কোনো ভালনারবিলিটি থাকে , তাহলে অ্যাটাকাররা সেটা কাজে লাগিয়ে সহজেই কুকি চুরি করা, ফিশিং চালানো, এমনকি ফর্ম হাইজ্যাক পর্যন্ত করতে পারে!
আবার DOM (Document Object Model) ম্যানিপুলেশন এর কথা চিন্তা করে দেখুন তো! JS তো এটার সাথেও কাজ করে, মানে যেটা ওয়েবপেজের স্ট্রাকচার কন্ট্রোল করে। এখন, একজন পেনটেস্টার যদি JS জানে, তাহলে সে DOM কে ম্যানিপুলেট করে এ্যাপ্লিকেশনের গোপন ফাংশনগুলো খুঁজে বের করতে পারে, এমনকি সেগুলোর সিকিউরিটি টেস্টিং ও করা যেতে পারে।
এ আর কি, সিঙ্গেল পেজ এপ্লিকেশন (SPA) গুলোর কথা না ভাবলেই চলবে? এগুলো তো এখন ট্রেন্ডি, আর এখানে JS এ্যাপ্লিকেশনের বেশিরভাগ লজিকই চালায়। সুতরাং, JS এর দুর্বলতা থাকলে, সারা এ্যাপ্লিকেশনের সিকিউরিটি পরিপূর্ণ থাকার কোনো নিশ্চয়তা থাকে না!
জাভাস্ক্রিপ্ট ভালোভাবে আয়ত্ত করে যখন কোনো ফাংশনের JS কোড পড়তে যাবেন, ফাংশনটা আপনার কাছে একটা বইয়ের মত মনে হবে, অ্যাপ্লিকেশনের প্রত্যেকটা বেহাবিওর আপনি লাইন বাই লাইন পড়তে পারবেন। ফলে ভলনারেবল বিহেবিওর খুব সহজেই আপনার নজরে পরবে।
Owasp Top 10 এর অনেক বাগই জাভাস্ক্রিপ্ট নির্ভর। চাইলে Owasp এর Testing Guideline V4 টা পড়তে পারেন, Bug Hunting এ জাভাস্ক্রিপ্টের প্রয়োজনীয়তা সম্পর্কে আরও জানতে।
কীভাবে শেখা শুরু করবেন?
প্রথমে JS এর বেসিক জিনিসগুলো শেখা লাগবে, যেমন ভেরিয়েবল , ফাংশন, লুপ, ইভেন্ট হ্যান্ডলিং ইত্যাদি. এসব তো অনলাইনেই ফ্রিতে পাওয়া যায়!
এছাড়াও, জনপ্রিয় JS ফ্রেমওয়ার্কগুলো, যেমন React, Angula, Vue.js ইত্যাদি সম্পর্কেও জানা দরকার। এগুলো ওয়েব ডেভেলপমেন্টে তো আজকাল খুব বেশিই লাগে, আর এগুলোর নিজস্ব সিকিউরিটি ফিচার ও থাকে।

Post a Comment

Previous Post Next Post