1. Home
  2. Web Application Security
  3. 6.Clickjacking

6.Clickjacking

Clickjacking: একটি বাস্তব উদাহরণ

Clickjacking হচ্ছে এমন একটি আক্রমণ, যেখানে হ্যাকার ব্যবহারকারীকে প্রতারণার মাধ্যমে একটি গুরুত্বপূর্ণ বাটন বা লিঙ্কে ক্লিক করায়, যা তারা বুঝতে পারে না। এই ধরনের আক্রমণে সাধারণত IFrame ব্যবহার করা হয়, যেখানে আসল পেজটি লুকিয়ে রাখা হয় এবং ব্যবহারকারীকে নির্দিষ্ট একটি কাজ করতে বাধ্য করা হয়। নিচে একটি বাস্তব উদাহরণ সহ এই আক্রমণের প্রক্রিয়া তুলে ধরা হলো।

উদাহরণ:

ধরুন, আপনার একটি গুরুত্বপূর্ণ ব্যাংকিং ওয়েবসাইট রয়েছে, যার একটি URL হলো:

https://example.com/transfer-money – ব্যাংকিং ট্রান্সফার পেজ
https://example.com/change-password – পাসওয়ার্ড পরিবর্তনের পেজ
https://example.com/submit-form – কনফার্মেশন বা সাবমিশন পেজ

এই পেজগুলোতে ব্যবহারকারী তার অর্থ ট্রান্সফার করে, পাসওয়ার্ড পরিবর্তন করে, বা কোন ফর্ম সাবমিট করে।

Step 1: হ্যাকার এর পরিকল্পনা

হ্যাকার একটি ম্যালিশিয়াস ওয়েবসাইট তৈরি করে, যেমন:

hackersite.com

এই ওয়েবসাইটটি এমনভাবে ডিজাইন করা হয়েছে যে, ব্যবহারকারী যখন এটিতে প্রবেশ করে, তখন একটি সম্পূর্ণ ট্রান্সপারেন্ট IFrame ব্যবহার করে example.com এর গুরুত্বপূর্ণ পেজকে লুকিয়ে রাখা হয়। হ্যাকার জানে যে, https://example.com/transfer-money পেজে ক্লিক করলে ব্যবহারকারীর অর্থ অন্য অ্যাকাউন্টে ট্রান্সফার হতে পারে।

Step 2: Clickjacking আক্রমণের কোড

hackersite.com এ নিম্নোক্ত কোড থাকতে পারে:

<html>
<head>
    <title>Free Giveaway!</title>
    <style>
        iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0; /* IFrame সম্পূর্ণ ট্রান্সপারেন্ট করে দেয় */
            z-index: 2;
        }
        .fake-button {
            position: absolute;
            top: 100px;
            left: 100px;
            z-index: 1;
            padding: 20px;
            background-color: red;
            color: white;
            font-size: 24px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div class="fake-button">Click here to claim your prize!</div>
    <iframe src="https://example.com/transfer-money"></iframe> <!-- ব্যাংকিং ট্রান্সফার পেজ -->
</body>
</html>

এই কোডে, hackersite.com এ একটি ফেইক বাটন থাকে যা ব্যবহারকারীকে “Click here to claim your prize!” ক্লিক করতে উৎসাহিত করে। কিন্তু বাটনটি আসলে example.com/transfer-money পেজের উপরে রাখা থাকে, যা সম্পূর্ণ ট্রান্সপারেন্ট IFrame এর মধ্যে থাকে।

Step 3: আক্রমণের বাস্তবায়ন

যখন কোনো ব্যবহারকারী এই ফেইক বাটনে ক্লিক করে, তখন সে মনে করে যে সে একটি প্রাইজ জিতবে, কিন্তু আসলে সে example.com এর গুরুত্বপূর্ণ পেজে ক্লিক করছে এবং হ্যাকারদের উদ্দেশ্য সফল হচ্ছে। উদাহরণস্বরূপ, ব্যাংকিং ট্রান্সফার পেজে ক্লিক করলে তার অর্থ হ্যাকারদের অ্যাকাউন্টে ট্রান্সফার হয়ে যেতে পারে।

Clickjacking থেকে সুরক্ষা

Clickjacking থেকে রক্ষা পেতে, আপনার ওয়েবসাইটে নিচের পদক্ষেপগুলো গ্রহণ করা প্রয়োজন:

  1. X-Frame-Options হেডার ব্যবহার:
    • DENY: কোনো পেজকে IFrame এ লোড হতে দেবে না।
    • SAMEORIGIN: পেজটি শুধু একই ডোমেইন থেকে IFrame এ লোড হতে পারবে।
    উদাহরণ:
app.use((req, res, next) => {
    res.setHeader("X-Frame-Options", "DENY");
    next();
});

Content Security Policy (CSP) হেডার ব্যবহার: CSP এর মাধ্যমে আপনি IFrame এর সোর্সকে কন্ট্রোল করতে পারেন।

উদাহরণ:

app.use((req, res, next) => {
    res.setHeader("Content-Security-Policy", "frame-ancestors 'self'");
    next();
});

এই ধরনের সিকিউরিটি হেডার ব্যবহার করে আপনি Clickjacking আক্রমণ থেকে আপনার ওয়েবসাইটকে রক্ষা করতে পারেন।

How can we help?