اسکن
Ogma شامل اسکنرهای پسیو و فعال است. اسکن پسیو، ترافیک ثبتشده را تحلیل میکند. اسکن فعال، درخواستهای تغییریافته میفرستد و یافتهها را بر اساس رفتار پاسخ، زمانبندی، بازتاب ورودی و مقایسه با پاسخ مبنا اعتبارسنجی میکند.
اسکنر پسیو
اسکنر پسیو، ورودیهای ثبتشدهٔ HTTP را بدون ارسال ترافیک جدید ارزیابی میکند.
دستههایی مانند موارد زیر را تشخیص میدهد:
- افشای خطاهای SQL، NoSQL، LDAP، قالب، سریالزدایی و XML.
- هدرهای امنیتی مفقود یا ضعیف.
- مشکلات پرچمهای کوکی.
- پیکربندی نادرست CORS.
- اسرار، کلیدهای خصوصی، دادههای حساب سرویس، وبهوکها و توکنهای افشاشده.
- اطلاعات کنترل نسخه، پیکربندی، مستندات API یا فایلهای حساس افشاشده.
- نگرانیهای JWT مانند الگوریتم
none، زمان انقضای طولانی و استفاده از HMAC. - پاسخهای کند و متدهای خطرناک HTTP.
یافتههای پسیو برای دستهبندی و ارزیابی اولیه مفیدند، اما همچنان به بازبینی نیاز دارند. یافتههای هدر و سیاست اغلب به زمینهٔ برنامه وابستهاند.
اجرای تحلیل پسیو
- ترافیک را ثبت کنید.
- ابزارهای کمکی > اسکنر را باز کنید.
- اسکنر پسیو را انتخاب کنید.
- روی اسکن تمام تاریخچه کلیک کنید.
- یافتههای ایجادشده را در یافتهها مرور کنید.
قواعد پسیو سفارشی در تنظیمات > اسکنر تنظیم میشوند.
اسکنر فعال
اسکنر فعال، پیلودها را به بخشهای احتمالی درخواست تزریق میکند و پاسخ هدف را اعتبارسنجی میکند.
خانوادههای بررسی پیادهسازیشده:
| بررسی | رفتار تأیید |
|---|---|
| تزریق SQL | بهدنبال خطاهای SQL یا، برای پیلودهای مبتنی بر زمان، تأخیر زمانی تکرارپذیر بیش از مبنای اندازهگیریشده میگردد. |
| XSS بازتابی | به بازتاب پیلود در پاسخ HTML بدون کدگذاری مورد انتظار نیاز دارد. |
| پیمایش مسیر / LFI | به نشانههای محتوای فایل نیاز دارد که در پاسخ مبنا وجود نداشتهاند. |
| تزریق دستور سیستمعامل | به خروجی دستور یا، برای پیلودهای زمانی، تأخیر تکرارپذیر بیش از مبنای اندازهگیریشده نیاز دارد. |
| SSTI | از پیلودهای محاسباتی قطعی قالب استفاده میکند و به نتیجهٔ محاسبهشده در پاسخ نیاز دارد. |
| SSRF | به شواهد فراداده یا بنر معرفی سرویس از پیلودهای URL تزریقشده نیاز دارد. |
| تغییرمسیر باز | به پاسخ تغییرمسیر به دامنهٔ خارجی تزریقشده نیاز دارد. |
اسکنر عمدا یک پاسخ عمومی 200 OK را اثبات آسیبپذیری در نظر نمیگیرد.
بررسیهای تکمیلنشده
فهرست بررسیهای فعال ممکن است شامل بررسیهایی باشد که بهعنوان دارای پیادهسازی اولیه و تکمیلنشده علامتگذاری شدهاند. این بررسیها برای شفافیت نقشهٔ راه قابلمشاهدهاند، اما یافته ایجاد نمیکنند. در بکاند فعلی، XXE و آپلود ناامن بدون تأیید خارج از باند یا تأیید مختص برنامه بهطور خودکار تأیید نمیشوند.
اسکن فعال همه
اسکن فعال همه درخواستهای ثبتشدهٔ اخیر را با تزریق پیلود به موارد زیر آزمایش میکند:
- پارامترهای پرسوجو.
- پارامترهای بدنهٔ فرم.
- مقادیر JSON.
- بخشهای مسیر.
- هدرهای انتخابشده در صورت فعال بودن.
پیش از اسکن فعال از محدوده استفاده کنید تا ترافیک و نتایج متمرکز بمانند.
گردش کار پیشنهادی:
- محدوده را تعریف و فعال کنید.
- ترافیکی ثبت کنید که نمایندهٔ استفاده از هدف باشد.
- با تحلیل پسیو شروع کنید.
- پیش از استفاده از اسکن فعال همه، درخواستهای انتخابشده را اسکن فعال کنید.
- درخواستهای اثبات و شواهد پاسخ را در یافتهها مرور کنید.
- مثبتهای کاذب را حذف کنید و خروجی خام اسکنر را مستقیما گزارش نکنید.
کیفیت شواهد
یک یافتهٔ باکیفیت اسکنر باید به این پرسشها پاسخ دهد:
- کدام پارامتر یا ورودی آزمایش شد؟
- کدام پیلود استفاده شد؟
- چه چیزی در پاسخ تغییر کرد؟
- آیا این رفتار در پاسخ مبنا وجود نداشت؟
- آیا مشکل تکرارپذیر است؟
- آیا شواهد پیوندشده در Ogma وجود دارد؟
وقتی شواهد قطعی نیستند، میزان اطمینان را کاهش دهید یا نتیجه را تا زمان تأیید بهصورت یادداشت نگه دارید.