10 آسیب امنیتی مهم در وب که نباید فراموش کنید
همیشه از قدیم گفتهاند پیشگیری بهتر از درمان است! این مسئله فقط برای بیماریهای جسمی و روانی نیست. وب سایتها هم همینطور هستند. معمولاً صاحبان وب سایتها وقتی مشکلات امنیتی برایشان رخ میدهد شیوههای امنیتی را در اولویت قرار میدهند. در این محتوا قصد داریم به معرفی چند مورد از آسیب امنیتی وب سایت بپردازیم.
احراز هویت و مجوز، دو مقوله متفاوت از هم!
وقتی درباره احراز هویت و مجوز حرف میزنیم. به طور خلاصه میگوییم چه کسی دارد به سیستم وارد میشود (احراز هویت) و چه کسی اجازه انجام یک سری کارها را دارد (مجوز). مثلاً فرض کنید میخواهید وارد خانه دوستتان شوید. طبیعتاً اول زنگ میزنید و دوستتان از پشت آیفون شما را میبیند و یا صدای شما را میشنود و بعد از تأیید و شناخت شما در را برایتان باز میکند. این همان احراز هویت است.
وقتی که شما وارد خانه میشوید به شما میگویند در سالن بنشینید. شما فقط اجازه حضور در آن موقعیت را دارید نه جای دیگری. این همان مجوز است.

10 آسیب امنیتی مهم در وب که نباید فراموش کنید!
حال زمان آن رسیده است تا درباره مشکلات رایج و همچنین آسیب امنیتی وب صحبت کنیم.
Injection Flaws
فرض کنید یک فرم لاگین دارید که از شما نام کاربری و رمز عبور میخواهد. اگر برنامه بهجای بررسی و پاکسازی ورودیها، همان طور که کاربر داده را وارد کرده به پایگاه داده ارسال کند هکر به سیستم وارد میشود. این همان Injection Flaws است!
Injection Flaws یکی از متداولترین و خطرناکترین آسیب پذیریهای امنیتی به حساب میآید. این آسیب پذیری، ورودیهای مخرب را به سیستم شما میفرستند و اگر برنامه ورودیها را به درستی مدیریت نکند. این ورودیها به دستوراتی قابل اجرا برای پایگاه داده، مرورگر یا سیستم عامل تبدیل میشوند.
برای جلوگیری از وقوع این آسیب پذیریها شما بایستی ورودیها را پاکسازی کنید. از دستورات آماده استفاده کنید و از اجرای کدهای تزریقی در SQL جلوگیری کنید.

بیشتر بخوانید: حمله SQL injection + نحوه جلوگیری از آن
Broken Authentication
این آسیب زمانی رخ میدهد که سیستم نتواند کاربر را به درستی شناسایی کند. به زبانی ساده سیستم در بررسی هویت کاربر دچار مشکل میشود و افراد ناشناس میتوانند به راحتی به حساب کاربری دیگران دسترسی یابند.
اگر بخواهم موارد متداول را توضیح بدهم میتوان گفت:
- داشتن رمز عبورهای ساده یا پیش فرض که قابل شناسایی هستند و مهاجم میتواند آنها را شناسایی و به سیستم کاربر دسترسی پیدا کند.
- اگر سیستم نتواند شناسایی کند که هر Session برای چه کاربری است مهاجمها میتوانند با انجام کارهایی مثل Session Hijacking به حسابهای دیگران دسترسی پیدا کنند.
- احراز هویتهای تک مرحلهای که امنیت کمتری نسبت به تأیید هویتهای چند مرحلهای دارند.
در راستای بهبود امنیت وب سایت شما میتوانید از رمز عبورهای قوی استفاده کنید، تأیید هویتهای چندمرحلهای داشته باشید، جلسات را به درستی مدیریت کنید.
(XSS) Cross-Site Scripting
فرض کنید یک وب سایت دارید که به کاربران اجازه میدهد تا کامنت بگذارند یا اطلاعاتی را وارد نمایند. اگر این وب سایت نتواند ورودیها را بررسی کند و کدها را پاک سازی نماید مهاجم میتواند کدهای مخرب را در فرمهای ورودی وارد نماید. زمانی که کاربر این صفحات را باز کند کدها در مرورگر آنها اجرا و میتواند منجر به سرقت اطلاعات و این دست از موارد شود.
برای پیشگیری از XSS بایستی ورودیها را بررسی و پاک سازی نمایید. از توابع و روشهای ایمن برای واردکردن دادهها به HTML یا جاوا اسکریپت استفاده کنید.
استفاده از CSP و ایجاد محدودیتهایی برای منابعی که مرورگر میتواند بارگذاری کند.

بیشتر بخوانید: حمله XSS چیست؟ + نحوه جلوگیری از آن
Insecure Direct Object References (IDOR)
این نوع آسیب پذیری مربوط به مدیریت و دسترسیها به اشیا است. مثلاً فرض کنید شما یک سایت شخصی دارید که دادهها و اطلاعات شخصی خود را در آن دارید. فرض کنید URL این اطلاعات به شکلی باشند که بتوان از آنها استفاده کرد. اگر فردی این دسترسی را داشته باشد و بتواند عددی که در URL وجود دارد را تغییر دهد و اطلاعات حساب کاربری دیگری را ببیند و یا تغییر دهد. این به آن معنی است که برنامه وب سایت شما نتوانسته به درستی بررسی کند که آیا این کاربر اجازه دسترسی به آن اطلاعات را دارد یا خیر. IDOR میتواند منجر به افشای اطلاعات حساس، دستکاری دادهها یا دسترسی غیرمجاز به منابع محدود شود. این آسیبپذیری میتواند در شرایطی که اطلاعات شخصی، مالی یا محرمانه در معرض خطر قرار گیرد، بسیار آسیبزا باشد.
اگر میخواهید از بروز این اتفاق جلوگیری کنید میتوانید کارهایی مثل تأیید دسترسی به این معنا که کاربر باید برای دسترسی به هر منبع درخواست ارسال کند تا بررسی شود آیا اجازه دسترسی دارد یا نه و استفاده از شناسههایی که قابل پیش بینی نباشند انجام دهید.
Security Misconfiguration
یکی از متداولترین مشکلات امنیتی در سیستمها و برنامههاست و زمانی رخ میدهد که تنظیمات امنیتی سیستم شما، دیتابیس و یا اپلیکیشن به درستی انجام نشده باشد. این موضوع باعث آسیب پذیریهای جدی میشود که هکر میتواند از آن استفاده کند. برای پیشگیری از این رخداد راهحلهایی وجود دارد مثل:
- تغییر تنظیمات پیش فرض پس از نصب نرم افزارها.
- محدودسازی دسترسیهای غیرضروری.
- دادن دسترسیهای لازم به کاربر و خودداری از دادن دسترسیهای اضافه.
- بررسی تنظیمات به صورت دورهای و اصلاح آنها.
CSRF
تصور کنید وارد سایت بانکتان و حساب کاربری خود شدید. یک کوکی در مرورگر شما ذخیره میشود با این عنوان که این حساب کاربری فلان شخص است و اجازه دسترسی به حساب خود را دارد. حال تصور کنید به سایت دیگری وارد میشود که به گمان خودتان این سایت بیضرر است. در این سایت هکر با قراردادن یک لینک یا دکمه شما را ترغیب میکند که روی آن کلیک کنید.
این لینک درخواستی را برای سایت بانک که مرورگر هنوز کوکی آن را دارد میفرستد و مثلاً درخواست پول میکند. سایت بانک هم به خیال اینکه درخواست از طرف شماست آن را اجرا میکند و تمام پول شما از دست رفت! این همان CSRF است.
CSRF یک جور شیطنت اینترنتی است که هکرها کاربران را وادار میکنند بیآنکه بخواهند کاری را انجام دهند که نباید. برای بهبود امنیت وب سایت و جلوگیری از بروز این رویداد کارهای زیادی را میتوان انجام داد.
- از توکنهای CSRF استفاده شود. این توکنها یک جور کد امنیتی اضافهاند که همراه درخواست ارسال میشوند اگر این کد نباشد سایت درخواست شما را نمیپذیرد.
- محدودکردن درخواستهای HTTP از منابع غیر مجاز
- تأیید هویتهای مجدد برای عملیاتهای خاص

بیشتر بخوانید: حملات CSRF چیست؟ + روش های کاهش حملات CSRF
Unvalidated redirects and forwards
فرض کنید که شما یک سایت دارید و کاربرها بعد از ورود به سایت شما به صفحه دیگری هدایت میشوند. اگر در این فرایند هکر قادر باشد تا آدرس سایت هدایت شده را کنترل کند میتواند مسیر را تغیر داده و کاربر را به سایتی مخرب ببرد. کاربر از همه جا بیخبر هم به هوای اینکه وارد یک صفحه معتبر از همان سایت شده به آن اعتماد میکند و ممکن است اطلاعات حساس خو را وارد آن کند.
اگر میخواهید امنیت سایت خود را حفظ کنید میتوانید محدودیتهایی برای آدرس هدایت برای کاربران قرار دهید. یعنی به جای اینکه به کاربران اجازه دهید هر آدرسی را برای هدایت انتخاب کنند تنها اجازه دهید به آدرسهایی که خودتان مشخص کردهاید هدایت شوند. آدرسها را بررسی کنید و از امن و معتبر بودن آنها پیش از هدایت مطمئن شوید. پیامهای اخطار و هشدار به کاربران در صورتی که کاربر را به هر دلیلی به آدرسی خارجی هدایت میکنید تا بتوانند نسبت به ادامه دادن فعالیت تصمیم بگیرند ارسال کنید.
Server-Side Request Forgery
SSRF یک نوع از آسیب امنیتی وب سایتهاست که هکر میتواند از سرور یک سایت بخواهد تا درخواستهای مخرب را به آدرس دیگری ارسال کنند. به عبارتی سرور سایت واسطهای میان هکر و منابعی است که به آنها دسترسی ندارد و میتواند به آنها دسترسی یابد. برای جلوگیری از بروز این اتفاق شما میتوانید:
- آدرسهایی که سرور به آنها درخواست بفرستد را محدود سازید.
- ورودیها را بررسی کنید.
- از فایروالهای مناسب استفاده کنید.
در کل شما میتوانید با محدودسازی و بررسی دقیق درخواستها از این نوع حملات جلوگیری نمایید.
Cryptographic Failures
به این معناست که زمانی که رمزنگاریها به شکلی درست انجام نشود این امر باعث میشود تا اطلاعات به راحتی در دسترس هکرها قرار بگیرد. این اتفاق ممکن است بنا بر دلایل مختلفی رخ دهد. مثل استفاده از الگوریتمهای رمزنگاری ضعیف، ذخیره رمزها در محلی ناامن، استفاده از پروتکلهای امنیتی ناامن و این دست از موارد.
برای پیشگیری از بروز این آسیب شما میتوانید کارهای زیر را انجام دهید:
- از الگوریتمهای رمزنگاری قوی استفاده کنید.
- رمز عبورها را در محلی امن ذخیره کنید و از دسترسی غیرمجازی جلوگیری کنید.
- از پروتکلهای امن استفاده کنید.
خانهای مطمئن برای وب سایتتان!
امروزه امنیت سایتها حرف اول را میزند و هیچ کسی دوست ندارد که سایتش هک شود و یا اطلاعاتش را از دست دهد. اینجاست که شما به یک میزبانی وب امن نیاز پیدا میکنید! میزبانی وب پویان آی تی دژی محکم در برابر هکرها و مشکلات امنیتی است و با پشتیبانی همهجانبه در کنار شماست.
و در آخر
آسیبهای امنیتی نقاط ضعف در سیستمها و برنامهها هستند که هکرها میتوانند از آنها برای دسترسی به اطلاعات و یا خراب کردن سیستم استفاده کنند. اینکه شما این آسیبها را بشناسید باعث میشود تا پیش از اینکه هکرها از آنها استفاده کنند از وقوع خطرات جلوگیری نمایید و سیستم خود را امنتر سازید. شما با دانستن این نقاط ضعف میتوانید از روشها و ابزارهای مناسب برای محافظت از دادهها و حریم خصوصی خود استفاده کنید.
سؤالات متداول
چگونه از سیستم خود در برابر حملات مختلف محافظت نماییم؟
برای محافظت از سیستم در برابر حملات و آسیب امنیتی وب مختلف پیشنهاد میکنم کارهای زیر را انجام دهید.
- بهروزرسانی سیستم
- استفاده از رمزنگاریهای قوی
- محدودسازی دسترسیها
- استفاده از فایروالها و ابزار امنیتی
آسیب پذیریهای امنیتی چه تبعاتی برای شما دارند؟
هکرها با استفاده از این آسیب پذیریها میتوانند اطلاعات حساس را به سرقت ببرند، سیستم را خراب کنند و یا به حساب بانکی شما دست پیدا کرده و به سرقت پولهایتان بپردازند. پس حفاظت از سیستم و اطلاعات یک جورهایی حفاظت از حریم خصوصی خودتان است.
منابع
- https://www.toptal.com/cybersecurity/10-most-common-web-security-vulnerabilities
- https://gcore.com/learning/10-common-web-security-vulnerabilities/
به این مقاله امتیاز دهید!
میانگین امتیاز 4.3 / 5. تعداد رأی ها : 7
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.