প্রক্সির কর্মপ্রবাহ
Ogma-র প্রক্সি কর্মপ্রবাহ ক্যাপচার দিয়ে শুরু এবং পুনর্ব্যবহারযোগ্য প্রমাণ দিয়ে শেষ হয়। পেনেট্রেশন পরীক্ষক যেভাবে ট্রাফিক নিয়ে কাজ করেন, সেই অনুযায়ী মূল দৃশ্যগুলো সাজানো: আবিষ্কার, পরিদর্শন, পরীক্ষা, নিশ্চিতকরণ ও প্রতিবেদন।
ওয়ার্কস্পেসের বিন্যাস
| অংশ | দৃশ্য |
|---|---|
| সামগ্রিক চিত্র | সাইটম্যাপ, এন্ডপয়েন্ট, পরীক্ষার আওতা, ছাঁকনি |
| প্রক্সি | ইন্টারসেপশন, HTTP ইতিহাস, WS / SSE ইতিহাস, মিলিয়ে প্রতিস্থাপন |
| পরীক্ষা | পুনঃপ্রেরণ, স্বয়ংক্রিয় পরীক্ষা, কর্মপ্রবাহ, পরিবেশ |
| সহায়ক সরঞ্জাম | স্ক্যানার, OAST, ডিকোডার, তুলনা করুন, সিকোয়েন্সার, রেস কন্ডিশন / অনুরোধ স্মাগলিং, নোট ও টোকেনের টুল |
| বিশ্লেষণ | অনুসন্ধান, পর্যবেক্ষণ (নিরাপত্তা পরীক্ষার ফলাফল), রপ্তানি |
| কর্মক্ষেত্র | ফাইল, প্লাগইন |
HTTP ইতিহাস
HTTP ইতিহাস মূল প্রমাণের সারণি। এটি ব্যবহার করুন:
- অনুরোধ ও উত্তরের হেডার এবং বডি পরিদর্শনে।
- মেথড, হোস্ট, পাথ, স্ট্যাটাস, উৎস, ট্যাগ, বডির বিষয়বস্তু ও সময় দিয়ে ফিল্টার করতে।
- প্রাথমিক মূল্যায়নের জন্য এন্ট্রিতে ট্যাগ বা রঙ দিতে।
- পুনঃপ্রেরণ, স্বয়ংক্রিয় পরীক্ষা, স্ক্যানার, পর্যবেক্ষণ বা বাহ্যিক এক্সপোর্টে অনুরোধ পাঠাতে।
- মূল ক্যাপচার রেখে অপ্রয়োজনীয় স্ট্যাটিক অ্যাসেট লুকাতে।
প্রস্তাবিত কর্মপ্রবাহ:
- ব্যবহারকারীর প্রতিনিধিত্বমূলক কার্যক্রমের ধাপগুলো ক্যাপচার করুন।
- সক্রিয় স্কোপ অনুযায়ী ফিল্টার করুন।
- অথেন্টিকেশন, অবস্থা পরিবর্তন, আপলোড, প্রশাসনিক ও API অনুরোধে ট্যাগ দিন।
- গুরুত্বপূর্ণ অনুরোধ পুনঃপ্রেরণে পাঠান।
- নিশ্চিত সমস্যা সংযুক্ত প্রমাণসহ পর্যবেক্ষণে যোগ করুন।
ইন্টারসেপশন
ইন্টারসেপশন মিলে যাওয়া ট্রাফিক ফরওয়ার্ড করার আগে থামায়।
ইন্টারসেপশন ব্যবহার করুন যখন দরকার:
- লক্ষ্যতে পৌঁছানোর আগে অনুরোধ পরিবর্তন করা।
- অনাকাঙ্ক্ষিত অনুরোধ ফেলে দেওয়া।
- নির্দিষ্ট অবস্থা পরিবর্তনের সময় অ্যাপ্লিকেশনের আচরণ দেখা।
- নিয়ন্ত্রিত ট্রাফিক দিয়ে অনুরোধ স্মাগলিং, রেস কন্ডিশন বা অনুমোদনের সীমা পরীক্ষা করা।
সারির আকার নিয়ন্ত্রণে রাখুন। ইন্টারসেপশনের সারি পূর্ণ হলে Ogma ক্লায়েন্টকে অনির্দিষ্টকাল আটকে রাখার বদলে নতুন ট্রাফিক ফরওয়ার্ড করে কর্মপ্রবাহ সচল রাখে।
মিলিয়ে প্রতিস্থাপন
মিলিয়ে প্রতিস্থাপন প্রক্সির মধ্য দিয়ে যাওয়া ট্রাফিক স্বয়ংক্রিয়ভাবে পরিবর্তন করে।
সাধারণ ব্যবহার:
- পরীক্ষার হেডার যোগ করা।
- Bearer টোকেন বা কুকি প্রতিস্থাপন করা।
- ফিচার ফ্ল্যাগ জোর করে নির্ধারণ করা।
- অপ্রয়োজনীয় ভিন্নতার হেডার স্বাভাবিক করা।
- লগ মিলিয়ে দেখার জন্য ট্রেসিং হেডার ইনজেক্ট করা।
সুনির্দিষ্ট মিলের শর্ত ব্যবহার করুন। ব্যাপক নিয়ম সম্পর্কহীন ট্রাফিক নষ্ট করতে পারে এবং ফলাফল পুনরুৎপাদন কঠিন করতে পারে।
WebSocket ও SSE
Ogma HTTP অনুরোধ/উত্তরের সারি থেকে আলাদাভাবে WebSocket ও সার্ভার-সেন্ট ইভেন্ট ট্রাফিক অনুসরণ করে।
WS / SSE ইতিহাস ব্যবহার করুন:
- সংযোগের মেটাডেটা পরিদর্শনে।
- বার্তার পেলোড পর্যালোচনায়।
- স্ট্রিমের বিষয়বস্তু খুঁজতে।
- আবার সংযোগ বা বার্তার বিভিন্ন সংস্করণ পরীক্ষা করতে WebSocket প্রবাহ WS পুনঃপ্রেরণে পাঠাতে।
সাইটম্যাপ ও এন্ডপয়েন্ট
শুরু থেকেই এবং বারবার এই সারসংক্ষেপ দৃশ্যগুলো ব্যবহার করুন:
- সাইটম্যাপ ক্যাপচার করা হোস্ট/পাথের গঠন দেখায়।
- এন্ডপয়েন্ট JavaScript, উত্তর ও ক্যাপচার করা ট্রাফিক থেকে পাওয়া API পাথ ও রুট সামনে আনে।
অ্যাক্টিভ পরীক্ষায় যাওয়ার আগে অপরীক্ষিত অংশ শনাক্ত করতে এই দৃশ্যগুলো সাহায্য করে।
অনুসন্ধান ও ছাঁকনি
Ogma HTTPQL ধরনের ফিল্টার সমর্থন করে। পুনরাবৃত্তিযোগ্য প্রাথমিক মূল্যায়নের কোয়েরির জন্য সংরক্ষিত ফিল্টার ব্যবহার করুন।
উদাহরণ:
text
req.host:example.com AND resp.code:500text
req.path.cont:"/admin" OR req.path.cont:"/api/"text
resp.header["set-cookie"].existsসিনট্যাক্সের জন্য HTTPQL ও StreamQL দেখুন।
পর্যবেক্ষণ
পর্যবেক্ষণ হলো নিরাপত্তা পরীক্ষার ফলাফল নথিভুক্ত করে প্রতিবেদন তৈরির স্তর। ভালো ফলাফলে থাকা উচিত:
- সংক্ষিপ্ত শিরোনাম।
- তীব্রতা ও আস্থার মাত্রা।
- প্রভাবিত হোস্ট, পাথ বা সুবিধা।
- HTTP ইতিহাস, পুনঃপ্রেরণ, স্বয়ংক্রিয় পরীক্ষা বা WebSocket ট্রাফিকের সংযুক্ত প্রমাণ।
- পুনরুৎপাদনের ধাপ।
- প্রভাব ও প্রতিকার।
স্ক্যানারের আউটপুট শুরুবিন্দু। ফলাফল এক্সপোর্ট করার আগে স্পষ্ট অনুরোধ ও উত্তরের প্রমাণ যুক্ত করুন।