انواع حملات تغییر مسیرهای نامعتبر یا Redirect در برنامه‌های کاربردی وب

انواع حملات تغییر مسیرهای نامعتبر یا Redirect در برنامه‌های کاربردی وب


حملات تغییر مسیرهای نامعتبر

آشنایی با حملات تغییر مسیرهای نامعتبر

با توجه به اینکه حملات تغییر مسیرهای نامعتبر یا همان Invalidated Redirects And Forwards، ازنظر سازمان OWASP به‌عنوان یکی از خطرناک‌ترین حملات در امنیت سایت شناخته می‌شود. در این مقاله قصد داریم تا با موضوع این حملات و انواع گوناگون آن آشنا شویم.

در فضای کنونی اینترنت که غالباً کاربران عادی و غیرمتخصص، مخاطب آن هستند و کمتر به تغییر مسیرهای توجه می‌کنند و این امر باعث شده است تا هکرها با استفاده از این نقطه‌ضعف کاربران، مشکلات امنیتی جدی را به وجود آورند. درصورتی‌که کاربری وارد وب‌سایت شود که ازلحاظ امنیتی، نتواند اعتبارسنجی‌های لازم را برای تغییر مسیرهای مناسب انجام دهد، هکر می‌تواند قربانیان را به وب‌سایت‌های مخرب هدایت کرده و یا حتی آسیب‌های جدی را به کاربران وارد نماید.

در حالت کلی می‌توان بیان کرد که حملات تغییر مسیرهای نامعتبر، با اجازه دادن به داده‌های نامطمئن از یک URL، برای تصمیم‌گیری صفحه مقصد کاربر ایجاد می‌شوند. حملات تغییر مسیرهای نامعتبر در ترکیب با حملات مهندسی اجتماعی برای اهداف خطرناک و مخربی مانند فریب دادن کاربران برای دانلود نرم‌افزارهای مخرب، هدایت به سایت‌های فیشینگ و یا Forward کاربران برای دسترسی به صفحات غیرمجاز استفاده می‌گردد. ازآنجایی‌که URL های مخرب، نام سایت اصلی را در URL خود، دارند؛ می‌توانند اعتماد کاربران را به دست آورند و سپس عملیات مخرب خود را انجام دهند.

تغییر مسیرهای نامعتبر در سایت

حملات تغییر مسیر های نامعتبر

یک مثال آموزشی از حملات تغییر مسیر

در اینجا یک مثال آموزشی برای نشان دادن چگونگی استفاده از این حملات را بیان خواهیم نمود. فرض کنید یک وب‌سایت نیازمند کلیک و یا Login کردن کاربر، برای انتقال و هدایت کاربر به صفحه داخلی در همان وب‌سایت یا سایت‌های خارجی دیگر باشد. برای درک بهتر موضوع آدرس زیر را در نظر بگیرید.

http://www.Example.com/redirect?url=google.com

در آدرس بالا نگرانی اصلی با این تغییر مسیر این است که از یک پارامتر url برای تصمیم‌گیری مقصد استفاده‌شده است. در تغییر مسیر آدرس بالا ممکن است خطری وجود نداشته باشد، ولی هکر می‌تواند به‌راحتی با استفاده از ویژگی تغییر مسیر در صفحات وب، برای ارسال یک لینک دیگر استفاده نماید. برای مثال، هکر می‌تواند آدرس بالا را با ویژگی تغییر مسیر، به‌صورت زیر در جهت منافع خود Redirect نماید.

http://www/Example.com/redirect?url=hackweb.com

در چندین سال اخیر وب‌سایت‌های معروفی همچون AOL، Google و eBay مورد حملات تغییر مسیرهای نامعتبر شده‌اند؛ که باعث خسارات فراوانی به این شرکت‌ها گردیده است.

شناسایی حملات تغییر مسیرهای ناامن

تشخیص حملات تغییر مسیر

تشخیص و پیشگیری از حملات تغییر مسیر

با توجه به نوشتار و مقالاتی که سازمان OWASP منتشر نموده است، تشخیص این نوع حملات نسبتاً آسان خواهد بود. برای تشخیص این نوع حملات نیاز است تا هر کدی که از هدایت یا Forwarding استفاده می‌کند را بررسی کنیم. یک جست‌وجوی ساده از فایل‌های کلی دایرکتوری وب‌سایت، برای پیدا کردن کدهایی که کاربر را تغییر مسیر یا هدایت می‌کنند، می‌تواند تمام آسیب‌پذیری‌های احتمالی را نشان دهد. برایم مثال، یک وب‌سایت که از کد نویسی PHP برای طراحی وب‌سایت استفاده می‌کند، از تابع Header جهت هدایت استفاده می‌نماید.

یک روش آسان دیگر که توسط طراحان استقبالی بیشتر از آن می‌شود، این است که وبمستران با استفاده از خدمات آنلاین دیگر وب‌سایت‌ها که تشخیص مسیریابی و آنالیز سایت را انجام می‌دهند، می‌توانند تغییر مسیرهایی که مربوط به کدهای ۳۰۰ و ۳۰۷ پروتکل HTTP است را تشخیص دهند. برای مثال سایت gtmetrix آنالیز کاملی از وب‌سایت را برای وبمستران فراهم می‌آورد و یکی از خدمات این سایت، مشخص نمودن تغییر مسیرها در وب‌سایت است.

درهرصورت اگر یک پارامتر تغییر مسیری را ایجاد نماید، باید حتماً موردبررسی قرار گیرد. سازمان OWASP برای جلوگیری از تغییر مسیرها و هدایت‌ها، سه مرحله ساده را بیان نموده است که در زیر بیان‌شده‌اند.

  • از تغییر مسیرها (Redirect) و هدایت‌ها (Forwarding) اجتناب کنید.
  • از ورودی کاربر برای تعیین مقصد استفاده نکنید.
  • اگر از پارامترهای مقصد نمی‌توان اجتناب کرد، حتماً بررسی شود که مقادیر ارائه‌شده برای کاربر، مجاز و معتبر باشد.

گاهی ممکن است به‌طور کامل نتوان از تغییر مسیرها و هدایت‌ها اجتناب کرد، بنابراین باید توجه داشت که مقادیر ارائه‌شده حتماً مجاز و معتبر باشند. روش‌های گوناگونی برای جلوگیری استفاده از داده‌های نامعتبر وجود دارد که در زیر بیان‌شده‌اند.

  • ایجاد یک لیست سفید یا Whitelist از صفحات مجاز وب‌سایت یا سایت‌های خارجی (توجه داشته باشید که نباید از لیست‌های سیاه استفاده نمود.)
  • فقط اجازه تغییر مسیر یا هدایت در شرایط مناسب و خاص داده شود.
  • از فرهنگ لغت یا دیکشنری برای نشان دادن مقادیر به صفحات یا سایت‌های معتبر استفاده کنید (به‌عنوان‌مثال، بجای استفاده از عبارت Home از Home.php استفاده نمایید.)
  • تغییر مسیرهای که مورداستفاده قرار نمی‌گیرند را غیرفعال نمایید.
  • تمامی درخواست‌های HTTP برای تغییر مسیری که استفاده نمی‌شود را اسکن نموده و آن‌ها را نادیده گرفته یا Ignore نمایید.
تشخیص تغییر مسیرهای نامعتبر در امنیت سایت

شناسایی تغییر مسیرها در سایت ها

درحالی‌که سایر کلاه‌برداری‌های فیشینگ ممکن است وجود داشته باشد، باید به این موضوع توجه داشت که حملات تغییر مسیرهای نامعتبر بسیار خطرناک بوده و هکر می‌تواند پسوردهای کاربر را به سرقت برده و یا حتی فایل‌های مخربی را با ترغیب کاربر بر روی سیستم او بارگذاری نماید و حملات دیگری را به وجود آورد.

بنابراین کاربران استفاده‌کننده از وب‌سایت‌ها حتماً باید قبل از کلیک بر روی هر لینک یا عکس در وب‌سایت‌ها، در پائین مرورگر خود آدرسی را که لینک یا عکس به آن ارجاع داده می‌شود را بررسی نمایند تا لینک ارجاعی با محتوایی که موردنظر کاربر است همخوانی داشته باشد.

همچنین طراحان و برنامه نویسان باید حتماً وب‌سایت‌ها را با حداقل تغییر مسیرها طراحی نمایند و مسائلی که در بالا به آن اشاره شد را در اولویت کاری خود قرار دهند.

انواع حملات تغییر مسیر

ازآنجایی‌که تغییر مسیرهای نامعتبر دارای یک نوع و گونه است، بنابراین در بالا به این موضوع پرداخته‌شده است و در این مکان نیازی به توضیحات دیگری نیست.

امین کیانی

امین کیانی

متخصص و کارشناس امنیت صفحات وب با رویکردی پایه‌ای و هدفمند در جهت آموزش‌های مرتبط با امنیت سایت و انجام پروژه‌های تست نفوذ در سایت‌ها و کسب‌وکارهای آنلاین

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند:

90 نفر

پاسخ دهید.

دیدگاه‌های این نوشته

هنوز پاسخی ارسال نشده است.

مطالب زیر را حتما بخوانید

دوره‌های آموزشی هک و امنیت