پیش از این در مورد خطرات ضعف امنیتی xss نوشتم و در آخرین نمونه، این ضعف امنیتی رو در سایت منوتو کشف کرده و گزارش کردم. چند هفته گذشته، برگزاری جشنواره وب و موبایل ایران توجه زیادی رو به خودش جلب کرد. بازدید کننده زیاد، همیشه با خودش نگرانی از امنیت کاربر رو برای من داره. این شد که نگاهی به سایت جشنواره انداختم.
در نوشته مرتبط با سایت منوتو گفتم که بخش جستجو یکی از جاهایی است که معمولا کنترل کمتری روش انجام میشه و احتمال پیدا کردن ضعف امنیتی توش بیشتره. جای دیگری که این خصوصیت رو داره، صفحه تماس با ما است. معمولا اینجوری بهش نگاه میشه که قراره یک ایمیل رو ارسال کنه و کافیه که حواسمون باشه اسپم ارسال نکنه (هرچند این کار هم به خوبی انجام نمیشه گاهی) و از نکات دیگه چشمپوشی میشه. مخصوصا توی فیلدهایی که انتظار میره کاراکترهای مختلفی داشته باشه و فیلترهای زیادی روشون اعمال نمیشه.
کشف xss
من سراغ بخش جستجو و تماس با مای سایت رفتم و با ابزارهایی که کار تست رو راحتتر میکنند، بررسی رو برای xss انجام دادم. همونطور که در فیلم زیر میبینید، فیلد ایمیل به درستی پاکسازی نمیشه و کد جاوا اسکریپت مورد نظر من، سمت کاربر اجرا میشه.
دو نکته:
- در این فرم به درستی از token استفاده شده بود که جلوی نوع دیگری از ضعف امنیتی که «شبیهسازی درخواست از طرف کاربر» است رو میگیره. من برای تست xss مجبور شدم که توکن رو دستی کپی کنم و در ارسال مقادیر دستکاری شده به فرم، ازش استفاده کنم.
- دستوری که من استفاده کردم یک دستور ساده ارسال پیامه برای اینکه دیده بشه. هکرها از این نمونه دستورها استفاده نمیکنند بلکه از این توانایی برای دزدیدن سطح دسترسی کاربرها کمک میگیرند.
در پایان یادآوری میکنم که این ضعف امنیتی در دوران رایگیری کشف شد و بلافاصله به مدیران سایت گزارش شد. از عمومی کردن این نوشته تا پایان رای گیری و اعلام برندهها خودداری کردم که تاثیری بر عملکرد دوستان نداشته باشه. وجود مشکل امنیتی در هر سایتی امکانپذیره و «چیزی از ارزشهای اون کم نمیکنه». امیدوارم این گزارشها و نوشتن در موردشون بتونه کمکی به افزایش سطح امنیتی وبسایتهای ایرانی بکنه.