نقاط آسیب پذیر رایج در سامانهی کسبوکارها
این بلاگپست شامل تجمیع و برداشتی هدفمند از محتوای گپوگفتهایی با برخی شکارچیان آسیب پذیری، هکرهای کلاه سفید و متخصصین امنیتی ست که قبلا در بلاگ راورو منتشر کردهایم. در گپوگفتهای قبلی پرسشهای مشترک و مشابهی را از افراد متفاوت پرسیده بودیم و هر یک از افراد از دیدگاه خود، پاسخهایی منحصربهفرد و متفاوت به این سوالها دادهاند. حالا قرار است که سوالهای مشترک را از دل گپوگفتهای گذشته بیرون بکشیم وپاسخهای متفاوت افراد به آنها را در کنار هم قرار دهیم. اینطور فکر میکنیم که این جمعبندی پاسخهایی به یک پرسش داده شده، میتواند ارزشمند، دارای پیامی جدید و نمودی از خرد جمعی باشد.
آنچه در این بلاگپست خواهید خواند:
در این بلاگپست گفتههایی از مهدی مرادلو، ارغوان کامیار، علیرضا رضایی، محمدحسین آشفتهیزدی، بهراد احمدپور، امیر پیامنی و رضا شریفزاده را خواهید خواند که راجع به نقاط رایج آسیب پذیر سامانهها در تجربههایشان گفتهاند.
داخل پرانتز: ترتیب ارائهی پاسخهای افراد در متن، مطابق با ترتیب گپوگفتهای منتشرشده با آنها در بلاگ راوروست.
در تجربهی شما، بیشتر چه نقاطی از سامانههای کسبوکارها آسیبپذیر بودهاند؟
مهدی مرادلو:
بیشتر گزارشهای من مربوط به آسیب پذیری های درگاههای پرداخت بوده. اغلب هم آسیب پذیری Race Condition بودهاند. چون سامانههای میدانها و اهداف متفاوت بودند، حملات و شیوههایشان هم متنوع بودند. برای یک حمله، هوش و ابتکار بیشتری لازم بوده برای بعضی هم اینطور نبود. مثلا آسیب پذیریای که برای شاتل ثبت شده، با آسیب پذیریای که برای مدیانا ثبت کردهام، فرق میکرد. من قبل از اینکه سامانهی هدف را باز کنم، با خودم فکر میکنم که "این سامانه، باتوجه به نوع کسبوکار و نوع سامانهاش، چه آسیب پذیریهایی ممکن است داشته باشد؟" این سوال خیلی مهم است. وقتی جوابی برای این سوال داشته باشم، قطعا راحتتر میتوانم آسیب پذیری را پیدا و گزارش کنم. مثلا روی سامانهای مثل نماوا، با خودم فکر کنم که یکی از آسیب پذیری های منطقیای که ممکن است وجود داشته باشد، این است که ویدئو منتشرشده باشد و تو مثلا با استاتوس بیایی و در UI جلویش را بگیری که نگذاری نمایش دهد. در Response سرور هم جواب را داشته باشی. این آسیب پذیری الان در نماوا وجود ندارد. ولی بهطور کلی از نوع آسیب پذیری هایی ست که ممکن است در یک سامانه مثل نماوا وجود داشه باشد. از این ممکنها خیلی هست، وقتی از نوع کسبوکار و سامانه شناخت داشته باشی و منطقش (Logic) دستت آمده باشد، این ممکنها را که کنارهم بچینی، دستت برای شکار آسیب پذیری، بازتر است.
پیشنهاد خواندنی: بررسی وجود ۵ آسیب پذیری رایج برروی درگاه پرداخت هدف راورو
یکی از مسئلههای مهم به نظرم این هست که در کمپینها روی امنیت لندینگ پیج ها زیاد کار نمیشود. لندینگ پیج هایی که مثلا برای کمپین نوروز یا شب یلدا میگذارند را من میتوانم بگویم که، به احتمال بالای ۹۰٪ آسیب پذیری روی آنها وجود دارد! چون برنامهنویس باید سریع هندل کند؛ در تایم کوتاهی قرار است کدش را بنویسد، دیپلوی کند و بالا بیاورد! این سرعتی که معمولا در فرآیند اجرا پیش میآید، و اینکه تایم کوتاهی هم قرار است مورد استفاده قرار بگیرند، باعث میشود که حساسیتهای امنیتی لازم در آنها رعایت نشود و اکثرا آسیبپذیر باشند.
مثلا من وقتی میخواهم رو هدفی کار کنم، گاهی میروم و کمپینهای قدیمیشان را چک میکنم تا ببینم آسیب پذیریای وجود دارد که به من دسترسی بدهد؟ یادم است که یک بار آسیبپذیری Account Takeoverی گزارش کردم که مربوط به همین کمپینها میشد. یادم است که از داخل کمپینها که میرفتی و توکنی که بهت میداد روی سایت اصلی هم کار میکرد. در واقع مشکلی که وجود داشت این بود که در کمپین یک کد چهاررقمی وجود داشت که نسبت به Rate Limit هم آسیبپذیر بود و میتوانستی توکن را به دست بیاوری.
روی هدف دیگری هم این آسیب پذیری را بررسی کردهام، مربوط به لندینگ پیجش بود. ولی قبول نکردند، چون پروکسی لیست باید استفاده می شد که طبق قوانین میدان قابلقبول نبود. ولی خب در حالت عادی فقط میشد سه تا چهار بار درخواست برای ورود به حساب کاربری را فرستاد ولی در لندینگ پیچ میشد نزدیک به ۵۰۰ درخواست را فرستاد بدون اینکه WAF ابرآروان IP را بلاک کند.
پیشنهاد خواندنی: گپوگفتی با پردرآمدترین شکارچی راورو در سال ۱۴۰۰؛ مهدی مرادلو (moradlooo)
ارغوان کامیار:
این را که می گویم کلی است و منجر به آسیب پذیری های متنوعی میشود ولی در کل کانفیگهای نادرست، مشکل در Input Validation و کنترلنکردن دسترسیها و … .
پیشنهاد خواندنی: گپوگفتی با شکارچی راورو؛ ارغوان کامیار (spark)
علیرضا رضایی:
درکل یکسری مکانیزمهای امنیتی هست که معمولا برنامه نویس ها در اپلیکیشن اندرویدی رعایت نمیکنند. معمولا برنامه نویسهایی که اندروید، دولوپ می کنند، حتی سریالهایشان را که من دیدهام نشان میدهد که اکثرا فرد دید خاصی از کدنویسی امن در اندروید ندارد. به همان دلیل اصلا نمی دانند که اگر بهطور ناامن کد بزنند، چه اتفاقهایی ممکن است که بیوفتد! سر همین قضیه بیشتر چیزهایی که در اندروید میبینم مربوط به کامپوننت هاست. اندروید ۴ کامپوننت اصلی دارد: Activityها، Serviceها، Broadcast Recieverها و Content Providerها. این ۴ مورد از نکات اصلی اندروید است. طرف اگر حواسش نباشد، یکسری جاها هست که از بیرون و با یک اپلیکیشن دیگر می توانند به اینها دسترسی داشته باشند! مثلا فرض کنید که من اپلیکیشن Phone گوشیم هست، هروقت که کسی بهم زنگ بزند این باید صفحه ش بیاید بالا. این در واقع یک اپلیکیشن دیگر دارد به آن دسترسی پیدا می کند. یک سری رابطههای اینطوری که بین اپلیکیشنها است اینجورجاها مثلا: چند Restrict Access است که باید رعایت شود و برنامه نویس باید اینها را رعایت کند و Permission ست کند. معمولا این ها را حواسشان نیست و وقتی که از بیرون مثلا یک اپ دیگر بخواهد به این اپ دسترسی یابد و یا اینها دیتاها را برای اپی دیگر بفرستند، اینجاها معمولا میشود کارهای خوبی کرد. خیلی در این زمینه آسیب پذیری هست، در هکروان هم اکثر آسیب پذیری های اندروید فکر میکنم از اینجورچیزها باشد.
شما مثلا: اکسپلویتش میکنید، اگر در کنارش اپلیکیشن دیگری نصب کنید می توانید به اطلاعات این اپلیکیشن دسترسی پیدا کنید.
پیشنهاد خواندنی: گپوگفتی با شکارچی؛ علیرضا رضایی
محمدحسین آشفته یزدی:
۹۰ درصد آسیب پذیریهایی که در باگ بانتی پیدا کردهام، آسیب پذیری منطقی بودهاند. البته آسیب پذیری های منطقی معمولا نیاز دارند تا درک بیشتری نسبت به کسبوکار هدف داشته باشی.
پیشنهاد خواندنی: گپوگفتی با شکارچی؛ محمدحسین آشفتهیزدی (sec_zone64)
رضا شریفزاده:
در تجربهای که من داشتهام، در بحث Reset Password خیلی از سامانهها آسیبپذیری نشان میدهند. در سامانههایی که از SSO یا OAuth استفاده میکنند، مخصوصا آنهایی که سازمان بزرگی اند و SSO شخصی دارند، معمولا بهشدت در پیادهسازی ضعیف عمل میکنند و آسیب پذیری های زیادی بررویشان پیدا میشود. بهخصوص Open Redirect! (چون ذات Open Redirect این آسیب پذیری است.) ممکن است این آسیبپذیری بیاهمیت تلقی شود، بههمینخاطر خیلیها، آن را جدی نمیگیرند. با وجود اینکه آسیب پذیری Open Redirect در بحث OAuth و SSO بهشدت میتواند برای کسبوکارها خطرناک باشد.
پیشنهاد خواندنی: گپوگفتی با یک شکارچی آسیبپذیری؛ رضا شریفزاده
سخن آخر:
در تجربهی شما، بیشتر چه نقاطی از سامانههای کسبوکارها آسیبپذیر بودهاند؟
چه نقاط آسیب پذیر رایج دیگری را میشناسید؟
اگر سامانهای دارید، از نقاط آسیب پذیر آن، باخبرید؟
بلاگپستهای مرتبط:
کتابچهی راهنمای برنامهنویسی امن
چه نقاطی از سامانهی کسبوکارها، پاتوق شکار شکارچیان آسیب پذیری ست؟