تمام حقوق این مقاله برای تیم امنیتی اشیانه محفوظ میباشد.
مقدمه :
حملات Phishing یکی از موثرترین حملاتی هستند که هنگامی که با مهندسی اجتماعی ترکیب میشوند میتوان به جاهای مختلفی نفوذ کرد. یکی از روش ها , ارجاع کاربر به هنگام ورود به یک صفحه به صفحه ای دیگر است که با دستکاری URL انجام میشود.
این حملات چگونه صورت میگیرند ؟
این حملات زمانی صورت میگرند که یک برنامه نویس در اسکریپت خود بازدید کننده را به جای دیگری که معمولا در همان سایت خود است ارجاع میدهد اما هکر با استفاده از متد های مختلف کاربر را به صفحه ای که به خواست خود هکر هست منتقل میکند.
یک مثال ساده :
کد:
http://www.ashiyane.ir/login.php?page=members/index.html
خوب اگر با دقت از page به بعد را نگاه کنید کاربر به صفحه ای با نام members/index.htm به صورت خودکار ارجاع میشود. حال اگر برنامه نویس کد را با دقت نوشته باشد و مسائل امنیتی را رعایت کرده باشد شما بعد از Login کردن فقط به صفحه اعضا منتقل میشوید و مسیر را نمیتوان عوض کرد اما اگر مسائل امنیتی رعایت نشده باشد میتوان این تغییر را ایجاد کرد :
کد:
http://www.ashiyane.ir/login.php?page=fakepage.com
حال اگر صفحه Login.php این باگ امنیتی را داشته باشد میتوان کاربر را به صفحه دلخواه ارجاع داد.
چقدر این باگ خطرناک هست و اهمیت دارد ؟
فرض کنید شما عضو بانکی هستید. از طرف بانک برای شما ایمیلی می اید و در این ایمیل از شما خواسته شده که لطفا حساب خود را چک کنید , زیرا تغییراتی در ان انجام شده است و به شما لینکی در پایین ایمیل دادن و شما سریعا کنجکاو شده و بر روی لینک کلیک میکنید.
و لینک به صورت زیر خواهد بود :
کد:
http://www.mybank.com/bank.php?account=sys/login.php
وقتی شما کیلیک میکنین به login.php منتقل میشین. اما وقتی هکر همچین صفحه را میبیند ان را با روشی که گفتیم تست میکند و اگر روش کار کند , هکر صفحه ای جعلی که شبیه به صفحه ورودی بانک است ساخته و شما را به انجا منتقل میکند و صفحه شبیه به شکل زیر میشود :
کد:
http://www.mybank.com/login.php?account=hacker.com/fakelogin.php
خوب واضحا هکر میتواند کابران را با فرستادن لینک مشابه به صفحه جعلی خود برده و نام کاربری و رمز عبور انها را بدزدد و قطعا صفحه ای با ان اسم واضح نمیسازد چون کاربر با کمی دقت متوجه میشود اما ادرس میتواند مانند :
باشد و خیلی ها را هم میتواند با همین روشی ساده گمراه کند. در واقعه هکر پس از تنظیم همه کارها با استفاده از ایمیل های جعلی این صفح را به شکل زیر در می اورد :
کد:
http://www.mybank.com/login.php?account=logins.com/banks.php
و ان را به همه اعضا داده و اطلاعات ان ها را میدزدد. و حتی برای اینکه واقعی تر به نظر بیاید میتواند صفحه ارجاعی را به هگس تبدیل کند که شبیه لینک زیر میشود :
کد:
http://www.mybank.com/login.php?account=%6c%6f%67%69%6e%73%2e%63%6f%6d%2f%62%61%6e%6b%73%2e%70%68%70
و انوقت کمتر کسی شک میکند و همه بر روی لینک کلیک کرده و در صفحه جعلی اطلاعات خود را خیلی راحت به هکر میدهند .
استفاده های دیگر از این باگ :
هکر میتواند با استفاده از این باگ به یک سایت حمله تکذیت سرویس بکند و سایت را برای مدتی از دسترسی خارج کند. که مثال در قسمت پایین اومده است
کد:
http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=
http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=
http://www.mybank.com/page.redir?target=http://www.mybank.com/page.redir?target=
http://www.mybank.com/page.redir?target=http://hackers.com=....
حمله بالا درست هست که حمله تکذیب سرویس نیست اما کاربر منتظر پاسخ میماند و همین کافیست !
اما حملات فقط به اینجا ختم نمیشود. هکر میتواند در صفحه ای که شما را هدایت میکند کیلاگر و یا هر برنامه جاسوسی دیگری قرار بدهد و از همه اطلاعات کامپیوتر شما با خبر شود.
نمونه ای از این باگ ها در یکی از برنامه های تحت وب :
کد:
http://www.milw0rm.com/exploits/5057
جالب است بدونین که کاربران گوگل و سیسکو چندین بار از این راه هک شدند.
راهکار چیست ؟
صاحبان سرور ها باید ارجاع ها را قفل کنند. و برنامه نویس ها باید محدودیت هایی برای ارجاع ها بگذارند که کاربر فقط به فقط به صحفه درست و مورد اعتماد رجوع داده شود.
]