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

Mass Assignment روی فیلد قیمت در فرم سفارش فروشگاه

وقتی یک فیلد مالی که هرگز باید سمت سرور محاسبه شود، به‌اشتباه از ورودی کاربر قابل‌تنظیم می‌ماند.

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

در یک فرم ثبت سفارش، قیمت نهایی باید همیشه سمت سرور از روی قیمت واقعی محصول در دیتابیس محاسبه شود. اگر مدل Order به‌صورت mass-assignable از ورودی کاربر پر شود و فیلد total_price هم در آن allowlist باشد، مهاجم می‌تواند مستقیماً قیمت دلخواه خودش (مثلاً ۱۰۰۰ تومان به‌جای ۱۰۰۰۰۰ تومان) را ارسال کند.

نحوه‌ی شناسایی

راه‌حل

فیلدهای محاسباتی/مالی هرگز نباید در allowlist فیلدهای قابل‌پذیرش از کاربر قرار گیرند؛ باید همیشه سمت سرور، از منبع معتبر (قیمت واقعی محصول)، بازمحاسبه شوند.

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