শুরুর কথা
বাগ বাউন্টি হান্টিং শুরু করার পর থেকে আমি অনেক ওয়েবসাইট টেস্ট করেছিলাম, কিন্তু কোনো গুরুত্বপূর্ণ দুর্বলতা খুঁজে পাইনি। তিন মাস পরিশ্রমের পর অবশেষে আমি একটি জনপ্রিয় e-commerce ওয়েবসাইটে একটি Stored XSS দুর্বলতা আবিষ্কার করি।
লক্ষ্য নির্বাচন
আমি HackerOne এ একটি মাঝারি আকারের প্রোগ্রাম বেছে নিয়েছিলাম। বড় প্রোগ্রামগুলোতে অনেক প্রতিযোগিতা থাকে, তাই শুরুতে ছোট প্রোগ্রাম বেছে নেওয়া ভালো। আমার টার্গেটে ছিল:
- একটি e-commerce ওয়েবসাইট যেখানে ব্যবহারকারীরা পণ্য কিনতে পারে
- ব্যবহারকারী প্রোফাইল সিস্টেম
- রিভিউ এবং কমেন্ট ফিচার
রিকনেসান্স (Reconnaissance)
প্রথমে আমি সম্পূর্ণ ওয়েবসাইট ঘুরে দেখি এবং সব ফিচার টেস্ট করি। আমি খেয়াল করলাম যে পণ্যের রিভিউ সেকশনে ব্যবহারকারীরা তাদের মতামত লিখতে পারছে।
দুর্বলতা আবিষ্কার
আমি রিভিউ ফিল্ডে একটি সাধারণ XSS পেলোড ইনজেক্ট করার চেষ্টা করি:
<script>alert('XSS')</script>
কিন্তু এটা কাজ করেনি। ওয়েবসাইট <script> ট্যাগ ব্লক করছিল। তখন আমি একটি ভিন্ন পদ্ধতি চেষ্টা করি - HTML ইভেন্ট হ্যান্ডলার ব্যবহার করে:
<img src=x onerror="alert('XSS')">
এবং সফল! একটি alert বক্স পপআপ হলো। এর মানে হচ্ছে ওয়েবসাইট ব্যবহারকারীর ইনপুট সঠিকভাবে স্যানিটাইজ করছিল না।
প্রভাব যাচাই (Impact Verification)
শুধু XSS খুঁজে পাওয়াই যথেষ্ট নয়। আপনাকে এর প্রভাব দেখাতে হবে। আমি দেখালাম যে এই দুর্বলতা দিয়ে:
- ব্যবহারকারীর কুকি চুরি করা সম্ভব
- সেশন হাইজ্যাক করা যায়
- Phishing পেজ তৈরি করা সম্ভব
রিপোর্ট জমা দেওয়া
আমি একটি বিস্তারিত রিপোর্ট লিখেছিলাম যাতে ছিল:
- দুর্বলতার বিস্তারিত বর্ণনা
- ধাপে ধাপে পুনরুৎপাদন করার নির্দেশনা
- প্রভাব এবং ঝুঁকির মাত্রা
- সমাধানের পরামর্শ
- স্ক্রিনশট এবং POC ভিডিও
ফলাফল
২৪ ঘন্টার মধ্যে টিম আমার রিপোর্ট ভেরিফাই করে এবং দুর্বলতাটি "High Severity" হিসেবে চিহ্নিত করে। ৭ দিন পর তারা ফিক্স ডিপ্লয় করে এবং আমি $500 পুরস্কার পাই!
শিক্ষা
- হাল ছাড়বেন না - প্রথম তিন মাস কিছু পাইনি কিন্তু চেষ্টা চালিয়ে গেছি
- বিভিন্ন পেলোড চেষ্টা করুন - একটা কাজ না করলে অন্যটা করে দেখুন
- প্রভাব দেখান - শুধু বাগ খুঁজলেই হবে না, এর ক্ষতি দেখাতে হবে
- বিস্তারিত রিপোর্ট লিখুন - ভালো রিপোর্ট দ্রুত গ্রহণযোগ্যতা পায়
উপসংহার
বাগ বাউন্টি হান্টিং একটি দীর্ঘমেয়াদী খেলা। প্রথম দিকে সফলতা না পেলেও হতাশ হবেন না। শিখতে থাকুন, চেষ্টা করতে থাকুন, এবং সবচেয়ে গুরুত্বপূর্ণ - নৈতিকতার সাথে হ্যাকিং করুন।