گردش کار پراکسی
گردش کار پراکسی Ogma با ثبت ترافیک شروع میشود و با شواهد قابلاستفادهٔ مجدد پایان مییابد. نماهای اصلی بر اساس نحوهٔ کار آزمایشگران نفوذ با ترافیک سازماندهی شدهاند: کشف، بررسی، آزمون، تأیید و گزارش.
چیدمان فضای کاری
| بخش | نماها |
|---|---|
| نمای کلی | نقشهٔ سایت، نقاط پایانی، محدودههای آزمون، فیلترها |
| پراکسی | رهگیری، تاریخچهٔ HTTP، تاریخچهٔ WS / SSE، تطبیق و جایگزینی |
| آزمون | بازپخش، خودکارسازی، گردشهای کار، محیط |
| ابزارهای کمکی | اسکنر، OAST، کدگشا، مقایسه، تحلیلگر توالی، شرایط رقابتی / قاچاق درخواست، یادداشتها و ابزارهای توکن |
| تحلیل | جستوجو، یافتهها، خروجیها |
| فضای کاری | فایلها، افزونهها |
تاریخچهٔ HTTP
تاریخچهٔ HTTP جدول اصلی شواهد است. از آن برای موارد زیر استفاده کنید:
- بررسی هدرها و بدنههای درخواست و پاسخ.
- فیلتر بر اساس متد، میزبان، مسیر، وضعیت، منبع، برچسبها، محتوای بدنه و زمانبندی.
- برچسبگذاری یا رنگگذاری ورودیها برای دستهبندی و ارزیابی اولیه.
- ارسال درخواستها به بازپخش، خودکارسازی، اسکنر، یافتهها یا خروجیهای خارجی.
- پنهان کردن منابع ایستای مزاحم، ضمن حفظ دادههای ثبتشدهٔ زیربنایی.
گردش کار پیشنهادی:
- یک مسیر کاربر نمایندهٔ کاربرد واقعی را ثبت کنید.
- دادهها را به محدودهٔ فعال فیلتر کنید.
- درخواستهای احراز هویت، تغییر وضعیت، آپلود، مدیریت و API را برچسبگذاری کنید.
- درخواستهای باارزش را به بازپخش بفرستید.
- مشکلات تأییدشده را همراه با شواهد پیوندشده به یافتهها منتقل کنید.
رهگیری
رهگیری، ترافیک منطبق را پیش از ارسال متوقف میکند.
وقتی به موارد زیر نیاز دارید، از رهگیری استفاده کنید:
- تغییر درخواستها پیش از رسیدن به هدف.
- حذف درخواستهای ناخواسته.
- مشاهدهٔ رفتار برنامه در یک انتقال وضعیت دقیق.
- آزمون قاچاق درخواست، شرایط رقابتی یا مرزهای مجوزدهی با ترافیک کنترلشده.
صف را محدود نگه دارید. اگر صف رهگیری پر شود، Ogma برای حفاظت از گردش کار، ترافیک جدید را ارسال میکند تا کلاینت برای مدت نامحدود مسدود نشود.
تطبیق و جایگزینی
تطبیق و جایگزینی، ترافیکی را که از پراکسی عبور میکند بهطور خودکار تغییر میدهد.
کاربردهای رایج:
- افزودن هدرهای آزمون.
- جایگزینی توکنهای Bearer یا کوکیها.
- تحمیل وضعیت پرچمهای قابلیت.
- یکسانسازی هدرهای مزاحم.
- تزریق هدرهای ردگیری برای مرتبط کردن لاگها.
از معیارهای تطبیق دقیق استفاده کنید. قواعد گسترده ممکن است ترافیک نامرتبط را خراب کنند و بازتولید یافتهها را دشوارتر کنند.
WebSocket و SSE
Ogma ترافیک WebSocket و رویدادهای ارسالی از سرور را جدا از ردیفهای درخواست و پاسخ HTTP دنبال میکند.
از تاریخچهٔ WS / SSE برای موارد زیر استفاده کنید:
- بررسی فرادادهٔ اتصال.
- مرور محتوای پیامها.
- جستوجو در محتوای جریان.
- ارسال جریانهای WebSocket به بازپخش WS، وقتی به اتصال مجدد یا آزمون گونههای مختلف پیام نیاز دارید.
نقشهٔ سایت و نقاط پایانی
از این نماهای کلی از همان ابتدا و بهطور مرتب استفاده کنید:
- نقشهٔ سایت ساختار میزبان و مسیر ثبتشده را نشان میدهد.
- نقاط پایانی مسیرهای API و مسیرهای کشفشده از JavaScript، پاسخها و ترافیک ثبتشده را آشکار میکند.
این نماها پیش از شروع آزمون فعال، به شناسایی بخشهای آزمایشنشده کمک میکنند.
جستوجو و فیلترها
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.
- مراحل بازتولید.
- اثر و راهکار رفع.
خروجی اسکنر یک نقطهٔ شروع است. پیش از صادر کردن یافتهها، شواهد روشن درخواست و پاسخ را پیوند دهید.