باگهای کسب و کار
فرض کن وارد یک فروشگاه اینترنتی شدی. یک لپتاپ قشنگ پیدا کردی و میخوای بخریش.
توی صفحهی پرداخت، یک فیلد میبینی به اسم «درصد تخفیف». برای شوخی، عدد ۹۹ رو توش مینویسی. قیمت لپتاپ یکدفعه به ۵۰۰ هزارتومن میرسه! 🔐
این اتفاق اسم داره: آسیبپذیری منطق کسبوکار (business logic flaw). اینجا هیچ رمزی شکسته نشده و هیچ کد مخفیای پیدا نشده.
مشکل سادهتر از این حرفهاست: سایت فروشگاه یک اشتباه منطقی داره. به جای اینکه اعتبارسنجی کدتخفیف رو سمت سرور انجام بده، به همه اجازه می ده با هر کدتخفیفی که میخوان خریدشون رو انجام بدن. 🛡️

حالا خودت امتحان کن. توی فروشگاه ساختگی زیر، عددهای مختلف توی فیلد تخفیف بنویس.
ببین با عددهای بزرگ یا حتی منفی، چه اتفاقی برای قیمت نهایی میافته.
تو دنیای واقعی، این نوع باگ میتونه به یک فروشگاه ضرر مالی واقعی بزنه. هر عددی که از کاربر میاد، باید دوباره توسط خود سرور بررسی بشه.
دقیقاً همینجور باگهاست که برنامههای Bug Bounty رو به وجود آورده. شرکتها توی این برنامهها به هکرهای اخلاقی پول میدن. هدف اینه که این ضعفها قبل از یک مهاجم واقعی پیدا بشن. 🔎
این باگ دقیقاً به چه دلیلی اتفاق افتاد؟
درسته! فروشگاه به عددی که از مرورگر کاربر میاومد، بدون بررسی دوباره اعتماد کرد. برای همین یک عدد دلخواه تونست کل قیمت رو خراب کنه.