‹ بازگشت به کتابخانه‌ی رایت‌آپ‌ها
CORS Misconfiguration شدت: بالا

دور زدن Allowlist CORS با یک زیردامنه‌ی ساختگی

وقتی بررسی allowlist فقط شامل‌بودن رشته‌ی دامنه را چک می‌کند، نه تطابق دقیق آن.

نویسنده: تیم PentesterHub

اگر allowlist CORS با str_contains($origin, "trusted-app.test") بررسی شود، یک Origin مثل https://trusted-app.test.evil-attacker.test (که مهاجم مالک آن است) هم این بررسی سطحی را رد می‌کند، چون رشته‌ی مورد انتظار در آن وجود دارد.

چرا این باگ رایج است

بسیاری از تیم‌ها برای «سهولت» allowlist را با یک contains یا regex بدون escape می‌نویسند، به‌جای تطابق دقیق دامنه یا پسوند با نقطه.

راه‌حل

تطابق دقیق کل دامنه، یا در صورت نیاز به زیردامنه، بررسی پسوند دقیق با نقطه (.trusted-app.test) به‌جای یک contains ساده.

تمرین عملی در آزمایشگاه‌های CORS Misconfiguration ›