حمله ClickJacking

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

اهمیت این حمله هنگامی مشخص می شود که متوجه شوید دوست دختر شما به راحتی می تواند رمز عبور شبکه اجتماعی شما را تغییر دهد و یا کارمندان شما می توانند از طریق شما اجازه دریافت پاداش یا هدیه را در پورتال سازمانی شرکت ثبت کنند!!

آناتومی حمله:
1. شخص مهاجم، به طریقی شما را به یک صفحه فریب دهنده هدایت می کند. مثلا برای شما ایمیل می زند با این موضوع: "عکس های شخصیِ فلان بازیگر مشهور را ببینید"! و یا لینکی را در چت و غیره برای شما ارسال می کند.

2. در این صفحه شوم، تدارکاتی برای شما دیده شده است. مثلا با شکل و شمایلی عجیب و ظاهری فریبنده، شما به طریقی هدایت می شوید که در مکان خاصی از صفحه کلیک کنید (Click Jacked). مثلا دکمه بزرگی در وسط صفحه قرار گرفته است که به شما می گوید برای مشاهده عکس های بیشتر اینجا را کلیک کنید!!

3. حقه ای که مهاجم در این صفحه به کار برده است، این است که بر روی این صفحه ای که با چشمان تان می بینید، چیزی نامرئی قرار داده است و شما با کلیک بر روی "دکمه هدف" در واقع بر روی چیزی نامرئی کلیک خواهید کرد و نه بر روی دکمه ای که گمان می کنید!!

4. این چیز نامرئی چیست؟ در حمله ClickJacking، مهاجم "بر روی" صفحه فریبنده، یک iFrame قرار داده است. این iFrame دارای opacity صفر می باشد. در نتیجه علی رغم این که در صفحه وجود خواهد داشت، ولی نامرئی بوده و شما به جای مشاهده این iFrame، در واقع چیزی را که در زیر iFrame قرار گرفته است مشاهده می کنید، یعنی همان صفحه فریبنده.

5. درون این iFrame نامرئی چه چیزی قرار گرفته است؟ در این iFrame وبسایتی توسط شخص بدخواه بارگذاری می شود. مثلا پورتال سازمانی، فیس بوک و یا هر سایتی که شما در آن "پیش تر" لاگین کرده باشید. 


فرض کنید، مهاجم صفحه ای از فیس بوک را در iFrameِ نامرئی بارگذاری کرده باشد، که در آن شما با یک کلیک خواهید توانست پروفایل تان را به صورت عمومی در بیاورید و از حالت خصوصی خارج کنید. 
مهاجم iFrameِ نامرئی را به گونه ای در صفحه قرار می دهد، که دکمه "پروفایل من را عمومی کن" ِ فیس بوک، دقیقا بر روی دکمه فریب دهنده و مرئی "عکس های بیشتر" قرار گرفته باشد.
در این حالت شما با خیال کلیک بر روی "عکس های بیشتر" در واقع بر روی دکمه نامرئی فیس بوک کلیک می کنید و دودمان خود را بر باد خواهید داد!!

روش جلوگیری از حمله ClickJacking:

همانطور که در پست قبلی گفته شد و آناتومی این حمله شرح داده شد، این حمله مبتنی بر این است که شخص بدخواه می تواند صفحه وب شما را در iFrame قرار داده و کاربر نهایی را فریب دهد.
برای جلوگیری از این حمله، می توان به راحتی کاری کرد که در مرورگر ها مانع از این شد که صفحه وب ما در iFrame نشان داده شود. در نتیجه این حمله به طور کلی بلاموضوع خواهد شد.
می توانیم وب سرور را به گونه ای تنظیم کنیم، که در با قرار دادن هدری با نام x-frame-options در پاسخ های HTTP که برای مرورگرها ارسال می کنند، به مرورگر ها بفهمانند که نباید این صفحه در iFrame نمایش داده شود.
این هدر سه مقدار می تواند داشته باشد:
1. deny: به هیچ عنوان مرورگر حق ندارد، صفحه برگشت داده شده را در iFrame نمایش دهد.
2. sameorigin: صفحه برگشت داده شده فقط می تواند در صفحات مربوط به "دامنه خودش"، در iFrame استفاده شود.
3.  'allow-from 'uri : مشخص می شود که چه URI ایی مجاز به نمایش صفحه ما در iFrame می باشد.