در حال بارگذاری...
تست دور زدن فرآیندهای کاری (Workflow Bypass) برای اطمینان از اینکه مهاجم نمیتواند مراحل ضروری فرآیند را رد کند.
اهداف این درس
دور زدن فرآیند (Workflow Bypass) شامل رد شدن از مراحل ضروری فرآیند یا تغییر ترتیب مراحل است. مهاجم میتواند با دسترسی مستقیم به مراحل بعدی، مراحل قبلی را دور بزند.
نوعی حمله که در آن مهاجم مراحل ضروری فرآیند را رد میکند یا ترتیب مراحل را تغییر میدهد.
| فرآیند | مرحله قابل دور زدن | تأثیر |
|---|---|---|
| خرید | پرداخت | دریافت محصول بدون پرداخت |
| ثبتنام | تأیید ایمیل | استفاده از ایمیل جعلی |
| تأیید هویت | مرحله دوم | دور زدن 2FA |
| آپلود فایل | بررسی فایل | آپلود فایل مخرب |
تمام فرآیندهای چندمرحلهای برنامه را شناسایی کنید: خرید، ثبتنام، تأیید هویت، آپلود فایل و موارد مشابه.
1// فرآیند عادی:2// 1. انتخاب محصول3// 2. افزودن به سبد4// 3. پرداخت5// 4. تأیید سفارش67// تست دور زدن:8// مستقیماً به مرحله ۴ بروید9GET /api/order/confirm?order_id=1231011// اگر سرور وضعیت پرداخت را بررسی نکند،12// سفارش بدون پرداخت تأیید میشود.هشدار
هرگز به پارامترهای کلاینت مثل step، stage یا status برای تعیین مرحله فرآیند اعتماد نکنید.
توصیه عملی
از کتابخانههای State Machine مثل XState برای مدیریت فرآیندهای چندمرحلهای استفاده کنید.
هر مرحله از فرآیند باید وضعیت مرحله قبل را بررسی کند.
State Machine بهترین روش مدیریت فرآیندهای چندمرحلهای است.
هرگز به پارامترهای کلاینت برای تعیین مرحله فرآیند اعتماد نکنید.
وضعیت فرآیند باید در سمت سرور مدیریت شود.
کدام مثال نمونهای از دور زدن فرآیند است؟
چرا دور زدن فرآیند خطرناک است؟
زیرا مهاجم میتواند مراحل ضروری مثل پرداخت، تأیید هویت یا بررسی امنیتی را رد کند.
State Machine چگونه از دور زدن فرآیند جلوگیری میکند؟
State Machine تعریف میکند که هر مرحله فقط از وضعیتهای مجاز قابل دسترسی است و انتقال غیرمجاز ممکن نیست.