جستجو پیشرفته محصولات
0
سبد خرید خالی است.
ورود | ثبت نام
با ورود و یا ثبت نام در زیرزمین سایبری شما شرایط و قوانین استفاده از سرویس‌های سایت را می‌پذیرید.

آموزش کامل حمله کلیک جکینگ (ClickJacking) و روش‌های جلوگیری از آن

تصویر مقاله ClickJacking

در دنیای تست نفوذ و امنیت وب، یکی از حملاتی که بر پایه‌ی فریب کاربر انجام می‌شود، حمله کلیک جکینگ (ClickJacking) است. این نوع حمله با هدف تغییر رفتار کاربر از طریق رابط گرافیکی (UI Redressing) صورت می‌گیرد. در این روش، کاربر فریب داده می‌شود تا روی دکمه یا لینکی کلیک کند که در واقع مربوط به وب‌سایت دیگری است. در ادامه به بررسی مفهوم، نمونه‌ها و روش‌های جلوگیری از کلیک جکینگ می‌پردازیم. همچنین اگر به وب هکینگ علاقه دارید به دوره هک سایت ما مراجعه کنید. 

تصویر حمله کلیک جکینگ(clickJacking)

🧩 کلیک جکینگ چیست؟

حمله کلیک جکینگ نوعی حمله‌ی رابط کاربری است که در آن، مهاجم صفحه‌ای جعلی یا «decoy» طراحی می‌کند و درون آن با استفاده از iframe محتوای یک سایت دیگر را به‌صورت نامرئی جاسازی می‌کند. وقتی کاربر روی بخشی از این صفحه کلیک می‌کند، در واقع روی عنصر واقعی سایت هدف کلیک کرده است، نه روی چیزی که تصور می‌کند. به‌عنوان مثال، کاربر روی دکمه‌ی «برنده شدن جایزه» کلیک می‌کند، اما در پشت صحنه، دکمه‌ی «پرداخت» در سایت بانکی فشرده می‌شود.

این حمله از CSRF متفاوت است، زیرا کاربر در کلیک جکینگ خودش عمل کلیک را انجام می‌دهد؛ در حالی‌که در CSRF، درخواست بدون دخالت کاربر ارسال می‌شود.

⚙️ نحوه اجرای حمله کلیک جکینگ

در اجرای کلیک جکینگ، مهاجم با استفاده از CSS و iframe‌ها لایه‌های شفاف و نامرئی ایجاد می‌کند. برای مثال، یک iframe از سایت هدف در بالای صفحه decoy قرار داده می‌شود و با خاصیت opacity: 0.0001 و z-index: 2 کاملاً نامرئی می‌شود. کاربر با کلیک روی محتوای ظاهری صفحه، در واقع روی iframe مخفی کلیک می‌کند.

مطلب پیشنهادی:   نقشه راه وب هکینگ | Web Application Pentesting

حتی مرورگرهایی مثل Chrome از نسخه 76 مکانیزم تشخیص شفافیت (transparency threshold) دارند، اما هنوز مرورگرهایی مثل Firefox در برابر این حملات آسیب‌پذیرند.

🧰 ابزار Clickbandit

تست دستی کلیک جکینگ می‌تواند زمان‌بر باشد، اما ابزار Clickbandit در مجموعه Burp Suite این کار را آسان می‌کند. با Clickbandit می‌توانید مراحل کلیک را در مرورگر انجام دهید و ابزار به‌صورت خودکار یک HTML آماده برای اثبات مفهوم (PoC) تولید می‌کند. این ابزار برای متخصصان تست نفوذ ابزاری ایده‌آل جهت ساخت PoC در چند ثانیه است.

✍️ کلیک جکینگ با فرم‌های از پیش پر شده

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

🧱 اسکریپت‌های Frame Busting

برای مقابله با کلیک جکینگ، برخی وب‌سایت‌ها از اسکریپت‌های Frame Busting استفاده می‌کنند. این اسکریپت‌ها بررسی می‌کنند که صفحه درون iframe باز نشده باشد یا فریم‌ها شفاف نباشند. با این حال، مهاجمان می‌توانند این مکانیزم را با ویژگی HTML5 به نام sandbox خنثی کنند.

وقتی iframe با ویژگی sandbox="allow-forms" یا sandbox="allow-scripts" ساخته شود، اسکریپت‌های frame-busting دیگر نمی‌توانند تشخیص دهند که فریم در top-window نیست. به همین دلیل، این روش‌ها کافی نیستند.

⚔️ ترکیب ClickJacking با حملات XSS

ClickJacking Photo

در سطح پیشرفته‌تر، مهاجمان از کلیک جکینگ به‌عنوان حامل برای DOM XSS استفاده می‌کنند. در این نوع ترکیبی، کاربر با کلیک روی iframe آلوده، کد مخرب XSS(آموزش XSS) را اجرا می‌کند. این حملات معمولاً با هدف سرقت کوکی‌ها، نشست‌ها یا تزریق کدهای جاوااسکریپتی صورت می‌گیرند.

مطلب پیشنهادی:   آموزش حمله بروت فورس BruteForce

🔁 کلیک جکینگ چند مرحله‌ای

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

🧩 روش‌های جلوگیری از کلیک جکینگ

مهم‌ترین راهکارها برای جلوگیری از حملات کلیک جکینگ در سطح سرور و مرورگر عبارت‌اند از:

🔐 هدر X-Frame-Options

یکی از متداول‌ترین راهکارهاست که با تنظیم مقادیر زیر در هدر HTTP از فریم شدن سایت جلوگیری می‌کند:

  • X-Frame-Options: DENY برای جلوگیری کامل
  • X-Frame-Options: SAMEORIGIN برای اجازه دادن فقط از همان دامنه

🧩 سیاست امنیت محتوا (CSP)

در CSP، می‌توان از دستور frame-ancestors استفاده کرد تا دامنه‌های مجاز برای فریم کردن صفحه تعیین شوند:

  • Content-Security-Policy: frame-ancestors 'self';
    یا
  • Content-Security-Policy: frame-ancestors example.com;

استفاده همزمان از CSP و X-Frame-Options در قالب دفاع چند لایه (Defense in Depth) بهترین روش مقابله با کلیک جکینگ است.

✅ جمع‌بندی

حمله کلیک جکینگ یکی از روش‌های فریب کاربران برای انجام عملیات ناخواسته است که با ترکیب iframeهای شفاف و طراحی CSS صورت می‌گیرد. شناخت دقیق این حمله، استفاده از هدرهای امنیتی مناسب و سیاست‌های CSP برای جلوگیری از آن ضروری است. اگر در حوزه تست نفوذ فعالیت دارید، آشنایی با ابزارهایی مثل Burp Clickbandit و روش‌های جلوگیری از فریم شدن سایت، از مهارت‌های پایه‌ای و حیاتی است.

درباره نویسنــده
نویسنده
کورش سنایی
نظرات کاربـــران
فاقد دیدگاه
دیدگاهی برای این مطلب ثبت نشده است. اولین دیدگاه را شما بنویسید.
ثبت دیدگاه
captcha
دوره های هک و امنیت
دوره هک اندروید
1,200,000
62%
460,000 تومان
آموزش
جــدید
32
دانشجو
دوره های هک و امنیت
دوره آموزش باگ بانتی
4,485,000
48%
2,350,000 تومان
آموزش
جــدید
21
دانشجو
دوره های هک و امنیت
دوره آموزشی ترموکس
500,000 تومان
80%
رضایت
36
دانشجو
دوره های هک و امنیت
PACK STARTER
1,499,000 تومان
آموزش
جــدید
36
دانشجو
دوره های هک و امنیت
دوره آموزش ساخت Badusb
1,600,000
65%
560,000 تومان
آموزش
جــدید
52
دانشجو
ابزارهای هک و امنیت
کرکر وردپرس
1,400,000
68%
449,700 تومان
آموزش
جــدید
20
دانشجو