Burp Suite-এর গোড়া: proxy, repeater ও নিরাপদ পরীক্ষার ধারা

Burp Suite আপনার browser-এর পাঠানো request দেখতে ও বদলাতে দেয়। মূল টুল এবং আপনাকে scope-এ রাখে এমন শান্ত কাজের ধারা শিখুন।

browser ও server-এর মাঝে বসা একটি proxy

Burp Suite একটি intercepting proxy: এটি আপনার browser ও ওয়েবসাইটের মাঝে বসে, ফলে প্রতিটি request ও response দেখা, থামানো এবং বদলানো যায়। হাতে ওয়েব পরীক্ষার প্রচলিত টুল। বিনামূল্যের Community Edition শেখার জন্য যথেষ্ট।

সেটআপ

  1. Burp Suite Community ইনস্টল করে অস্থায়ী project শুরু করুন।
  2. Burp একটি স্থানীয় port-এ শোনে (সাধারণত 127.0.0.1:8080)।
  3. আপনার browser-কে ওই proxy ব্যবহার করতে দিন। Burp-এর বিল্ট-ইন browser এটি সহজ করে।
  4. HTTPS traffic দেখাতে browser-এ Burp-এর CA certificate ইনস্টল করুন।
  5. Target scope প্রোগ্রামের scope-এর domain-এ সেট করুন, যাতে Burp বাকি সব উপেক্ষা করে এবং ভুলে scope-এর বাইরের host ছোঁয়া না যায়।

মূল টুল

Proxy। Interception চালু থাকলে প্রতিটি request থেমে যায়, এগিয়ে দেওয়ার আগে পড়তে বা বদলাতে পারেন। সাধারণ browsing-এ interception বন্ধ রাখুন, আর যা গেছে তা দেখতে HTTP history ট্যাব ব্যবহার করুন।

Repeater। সবচেয়ে বেশি ব্যবহৃত টুল। History থেকে একটি request Repeater-এ পাঠান, একটি জিনিস বদলান (parameter, header, ID), Send চাপুন এবং response তুলনা করুন। এভাবেই ধাপে ধাপে ধারণা পরীক্ষা হয়।

Target / Site map। আপনার browsing-এ পাওয়া host ও path-এর গাছ। অ্যাপের গঠন দেখতে সাহায্য করে।

Decoder। URL encoding, Base64 ও hex-এর মতো ফরম্যাটের মধ্যে data বদলায়।

Comparer। দুটি response-এর পার্থক্য দেখায়, authorization পরীক্ষায় কাজের (user A বনাম user B-র response)।

Intruder। একটি request-এর অনেক রূপভেদ স্বয়ংক্রিয়ভাবে পাঠায়। Community Edition-এ এটি rate সীমিত। প্রোগ্রাম automation অনুমতি দিলে তবেই, ধীরে ব্যবহার করুন।

নিরাপদ কাজের ধারা

  1. Burp রেকর্ড করা অবস্থায় পুরো অ্যাপ স্বাভাবিকভাবে ঘুরুন। সাধারণ user হিসেবে প্রতিটি feature ব্যবহার করুন।
  2. HTTP history পড়ুন। আকর্ষণীয় request তালিকা করুন: যেগুলোতে ID, ফাইলের নাম, redirect বা role-সম্পর্কিত ফিল্ড আছে।
  3. একটি Repeater-এ পাঠিয়ে অনুমান তৈরি করুন, যেমন "এই endpoint কি invoice আমার কি না যাচাই করে?"
  4. নিজের দুটি অ্যাকাউন্ট দিয়ে পরীক্ষা করুন। একবারে একটি জিনিস বদলান।
  5. Response তুলনা করুন। গুরুত্বপূর্ণ পার্থক্য দেখলে দুবার reproduce করুন।
  6. Proof পেলে থামুন এবং report লিখুন।

যে অভ্যাস কাজে লাগে

  • আকর্ষণীয় request নাম দিয়ে নোট ফাইলে বা Burp-এর comment-এ সংরক্ষণ করুন।
  • ছবি, CSS ও noise লুকাতে HTTP history-তে filter ব্যবহার করুন।
  • Scope তালিকা হালনাগাদ রাখুন। নতুন host-এ request পাঠানোর আগে দেখুন।
  • হারের দিকে খেয়াল রাখুন। Server-কে হাতুড়ি পেটাবেন না।
  • যে অ্যাকাউন্ট বা data আপনার নয় তাতে কখনো পরীক্ষা করবেন না।

নতুনদের সাধারণ ভুল

  • Interception বন্ধ করতে ভুলে ভাবা যে সাইট ভাঙা।
  • Scope সেট না করায় scope-এর বাইরের host পরীক্ষা করা।
  • একসাথে অনেক কিছু বদলানো, ফলে কোনটি কাজ করল বোঝা যায় না।
  • প্রোগ্রামের নিয়ম না পড়ে automated টুল চালানো।

মূল কথা: দেখতে Burp-এর Proxy, একবারে একটি বদল পরীক্ষা করতে Repeater এবং সীমার ভেতরে থাকতে scope সেটিং ব্যবহার করুন। আগে ইচ্ছাকৃত দুর্বল lab অ্যাপে অনুশীলন করুন।


বাগ বাউন্টি সিরিজ, পর্ব ২ (recon ও টুল): 3 নম্বর (মোট 5)। আগের লেখা: ওয়েব অ্যাপ কীভাবে চলে বুঝতে তার JavaScript পড়া.

আরও পড়ুন

দুটি অ্যাকাউন্ট দিয়ে API-র authorization bug পরীক্ষা

বেশিরভাগ গুরুতর API bug কে কী করতে পারে তা নিয়ে। সহজ matrix ও দুটি অ্যাকাউন্ট দিয়ে সাবধানে পরীক্ষা করুন এবং পরিষ্কারভাবে প্রমাণ করুন।

বাগ বাউন্টি•২ মিনিটে পড়া

Web archive ও public উৎস: ভুলে যাওয়া পেজ সঠিকভাবে খোঁজা

সাইট বদলায়, কিন্তু অতীত archive-এ থাকে। Public archive ও খোলা উৎস target বুঝতে কীভাবে সাহায্য করে এবং সীমারেখা কোথায়, জানুন।

বাগ বাউন্টি•২ মিনিটে পড়া

ওয়েব অ্যাপ কীভাবে চলে বুঝতে তার JavaScript পড়া

Front end বলে দেয় back end কীভাবে কাজ করে। Bundle করা JavaScript শান্তভাবে পড়া শিখুন এবং এটি অ্যাপের ডিজাইন সম্পর্কে কী দেখাতে পারে, জানুন।

বাগ বাউন্টি•২ মিনিটে পড়া