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

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

পুরোনো ওয়েব পেজের archive তাক

অ্যাপ সময়ের সাথে বড় হয়। Feature যোগ, নাম বদল বা সরানো হয়, কিন্তু পুরোনো পেজ, endpoint ও ডকুমেন্ট প্রায়ই পাওয়া যায়, আর তাদের কপি public archive-এ থাকে। এসব উৎস দেখা OSINT (open-source intelligence): শুধু public তথ্য ব্যবহার।

ইতিহাস কেন গুরুত্বপূর্ণ

  • পুরোনো endpoint এখনও চলতে পারে। মেনু থেকে সরানো পেজ এখনও সাড়া দিতে পারে।
  • API-র পুরোনো সংস্করণ (/v1/) বর্তমানটির চেয়ে কম সুরক্ষিত হতে পারে।
  • অতীতে ব্যবহৃত parameter ও ফাইলের নাম অ্যাপ কীভাবে বানানো তার ইঙ্গিত দেয়।
  • ডকুমেন্টেশন এমন feature বর্ণনা করে যা UI দেখায় না।

পড়ার জন্য public উৎস

Web archive। Internet Archive-এর Wayback Machine ও অনুরূপ সেবা সময়ের সাথে পেজের snapshot রাখে। সাইটের পুরোনো সংস্করণ দেখা এবং একটি domain-এর archive করা URL-এর তালিকা পাওয়া যায়। Archive-এর পুরোনো JavaScript ফাইল এমন endpoint দেখাতে পারে যা বর্তমান front end-এ আর নেই।

Search engine। Search operator সাবধানে ব্যবহার করলে দেখা যায় search engine একটি domain-এর জন্য কী index করেছে: ডকুমেন্টেশন পেজ, upload করা ডকুমেন্ট, ভুলে লিংক হওয়া staging বা test পেজ।

Public কোড repository। ডেভেলপার ও কোম্পানি কোড প্রকাশ করে। কোম্পানির public repository সার্চ করলে (এবং কর্মীদের public প্রজেক্ট, শুধু প্রাসঙ্গিক ও public হলে) API path, configuration-এর নাম এবং কখনো ভুলে প্রকাশিত secret পাওয়া যায়।

ডকুমেন্টেশন ও developer portal। Public API doc, changelog, release note, status পেজ ও সাহায্য কেন্দ্র feature এবং কখনো অভ্যন্তরীণ শব্দ বর্ণনা করে।

মোবাইল অ্যাপ। Public অ্যাপ package-এ মোবাইল client-এর ব্যবহৃত endpoint ও সেটিংস থাকে।

কীভাবে কাজ করবেন

  1. উপরের উৎস থেকে URL ও endpoint-এর নাম জোগাড় করুন।
  2. Scope-এর ভেতরের host ও path ছেঁকে নিন।
  3. কোনগুলো এখনও সাড়া দেয় দেখুন, নরমভাবে ও প্রোগ্রামের automation নিয়মের ভেতরে।
  4. বর্তমান অ্যাপের সাথে তুলনা করে পার্থক্য লিখুন (পুরোনো feature, পুরোনো API সংস্করণ)।
  5. আকর্ষণীয়গুলো শুধু নিজের অ্যাকাউন্টে, scope-এর ভেতরে পরীক্ষা করুন।

সংবেদনশীল কিছু পেলে

কখনো public উৎসে এমন কিছু থাকে যা public হওয়া উচিত নয়: private key, database পাসওয়ার্ড, অভ্যন্তরীণ ডকুমেন্ট, ব্যক্তিগত data।

  • সিস্টেমে ঢুকতে বা access করতে এটি ব্যবহার করবেন না। প্রকাশিত credential ব্যবহার সাধারণত নিয়মের বাইরে এবং বেআইনি হতে পারে।
  • অস্তিত্ব প্রমাণ করতে যতটুকু দরকার তার বেশি download করবেন না, শেয়ারও করবেন না।
  • অবস্থান ও কেন সংবেদনশীল জানিয়ে প্রোগ্রামে (বা মালিকের কাছে) report করুন, এবং তাদের বদলাতে বা সরাতে দিন।
  • Public-এ পোস্ট করবেন না।

সীমা ও নৈতিকতা

  • অধিগ্রহণের পর পুরোনো কনটেন্ট এখন scope-এর বাইরে বা অন্য কোম্পানির হতে পারে। মালিকানা যাচাই করুন।
  • Archive করা পেজে অন্যদের ব্যক্তিগত data থাকতে পারে। সংগ্রহ করবেন না।
  • OSINT passive। কোনো host-এ request পাঠানো শুরু করলে active পরীক্ষার নিয়ম প্রযোজ্য।

মূল কথা: Archive, search engine, public repository ও ডকুমেন্টেশন অ্যাপ কীভাবে বিবর্তিত হয়েছে দেখায়। Scope-এর ভেতরের ভুলে যাওয়া জায়গা খুঁজতে এগুলো ব্যবহার করুন, আর প্রকাশিত secret ব্যবহার না করে report করুন।


বাগ বাউন্টি সিরিজ, পর্ব ২ (recon ও টুল): 4 নম্বর (মোট 5)। আগের লেখা: Burp Suite-এর গোড়া: proxy, repeater ও নিরাপদ পরীক্ষার ধারা.

আরও পড়ুন

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

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

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

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

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

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

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

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

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