সিএসআরএফ আক্রমণগুলির বিরুদ্ধে লগইন ফর্মগুলির কি টোকেন দরকার?


161

আমি এ পর্যন্ত যা শিখেছি তা থেকে, টোকেনের উদ্দেশ্য হ'ল কোনও আক্রমণকারীকে ফর্ম জমা দেওয়া থেকে বিরত রাখা।

উদাহরণস্বরূপ, যদি কোনও ওয়েবসাইটের এমন কোনও ফর্ম থাকে যা আপনার শপিং কার্টে আইটেম যুক্ত করে এবং কোনও আক্রমণকারী আপনার শপিং কার্টটি স্প্যাম করতে পারে তবে আপনি চান না with

এটি উপলব্ধি করে কারণ শপিং কার্টের ফর্মের জন্য একাধিক বৈধ ইনপুট থাকতে পারে, সমস্ত আক্রমণকারীকে ওয়েবসাইটের বিক্রয়কৃত আইটেমটি জানতে হবে।

আমি বুঝতে পারি কীভাবে টোকেনগুলি কাজ করে এবং এই ক্ষেত্রে সুরক্ষা যুক্ত করে, কারণ তারা নিশ্চিত করে যে ব্যবহারকারী কার্টে যুক্ত প্রতিটি আইটেমের জন্য ফর্মের "জমা দিন" বোতামটি প্রকৃতপক্ষে পূরণ করেছে এবং টিপেছে।

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

যেহেতু ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি অত্যন্ত অনন্য, আক্রমণকারীটিকে লগইন জালিয়াতির জন্য কাজ করার জন্য উভয়ই জানতে হবে (এমনকি যদি আপনার টোকেন সেটআপ নাও থাকে), এবং যদি কোনও আক্রমণকারী ইতিমধ্যে এটি জানত তবে সে কেবল ওয়েবসাইটে সাইন ইন করতে পারে নিজে। উল্লেখ করার মতো নয়, এমন কোনও সিএসআরএফ আক্রমণ যা ব্যবহারকারীকে নিজেরাই লগ ইন করে দেয় তার কোনও ব্যবহারিক উদ্দেশ্য হবে না।

সিএসআরএফ আক্রমণ এবং টোকেন সম্পর্কে আমার বোঝা কি সঠিক? আমার সন্দেহ হিসাবে তারা কি লগইন ফর্মগুলির জন্য অকেজো?


তারা আপনার রাউটার হাইজ্যাক করতে পারে, কারণ আপনি সম্ভবত এটিতে ডিফল্ট পাসওয়ার্ড ব্যবহার করেন এবং এটি লগইনের জন্য সিএসআরএফ-সুরক্ষিত নয়।
অ্যাবিয়াসএক্স

হ্যাঁ, সুতরাং অন্যান্য ওয়েবসাইটগুলি আপনার লগইন ফর্মটি নকল করতে পারে না। তারা এটি করে কী অর্জন করতে পারে? প্রথমে আপনি এটি অনুমতি দিতে চান না। দ্বিতীয়: খুব সহজে ব্যর্থতার ক্ষেত্রে যেমন ভুল পাসওয়ার্ড এন নং ব্যবহারকারীর দ্বারা ব্যবহারকারীকে অবরুদ্ধ করা। বার, এড়ানো যায়।
mayankcpdixit

উত্তর:


126

হ্যাঁ. সাধারণভাবে, আপনাকে অন্য কোনও মতো সিএসআরএফ আক্রমণ থেকে আপনার লগইন ফর্মগুলি সুরক্ষিত করতে হবে।

অন্যথায় আপনার সাইটটি এক ধরণের "বিশ্বাসযোগ্য ডোমেন ফিশিং" আক্রমণে ঝুঁকিপূর্ণ। সংক্ষেপে, একটি সিএসআরএফ-অরক্ষিত লগইন পৃষ্ঠা কোনও আক্রমণকারীকে ভুক্তভোগীর সাথে একটি ব্যবহারকারী অ্যাকাউন্ট ভাগ করতে সক্ষম করে।

দুর্বলতা এইভাবে কাজ করে:

  1. আক্রমণকারী বিশ্বস্ত ডোমেনে একটি হোস্ট অ্যাকাউন্ট তৈরি করে
  2. আক্রমণকারী এই হোস্ট অ্যাকাউন্টের শংসাপত্রগুলির সাথে ভুক্তভোগীর ব্রাউজারে একটি লগইন অনুরোধ জাল করে
  3. আক্রমণকারী শিকারটিকে বিশ্বস্ত সাইটটি ব্যবহার করার কৌশল করে, যেখানে তারা হোস্ট অ্যাকাউন্টের মাধ্যমে লগ ইন করেছে সেদিকে খেয়াল নাও করতে পারে
  4. আক্রমণকারীটির এখন হোস্ট অ্যাকাউন্টের সাথে তাদের ব্রাউজারটি লগ ইন করার সময় ভুক্তভোগী "তৈরি" (ইচ্ছাকৃত বা অজান্তেই) যে কোনও ডেটা বা মেটাডেটা অ্যাক্সেস করতে পারে

প্রাসঙ্গিক উদাহরণ হিসাবে, ইউটিউব বিবেচনা করুন । ইউটিউব ব্যবহারকারীদের "তাদের নিজস্ব" দেখার ইতিহাসের রেকর্ড দেখতে দেয় এবং তাদের লগইন ফর্মটি সিএসআরএফ-ঝুঁকিপূর্ণ ছিল! সুতরাং ফলস্বরূপ, কোনও আক্রমণকারী তাদের জানা পাসওয়ার্ড সহ একটি অ্যাকাউন্ট সেট আপ করতে পারে , শিকারটিকে সেই অ্যাকাউন্টটি ব্যবহার করে ইউটিউবে লগইন করতে পারে - ভুক্তভোগী কী ভিডিওগুলি দেখছিল তা লুঠ করে।

এই মন্তব্য থ্রেডে কিছু আলোচনা রয়েছে যা সূচিত করে যে এটি গোপনীয়তা লঙ্ঘনের জন্য "কেবল" ব্যবহার করা যেতে পারে। সম্ভবত, তবে উইকিপিডিয়ায় সিএসআরএফ নিবন্ধের অংশটি উদ্ধৃত করতে :

লগইন সিএসআরএফ বিভিন্ন অভিনব আক্রমণকে সম্ভব করে তোলে; উদাহরণস্বরূপ, আক্রমণকারী তার বৈধ শংসাপত্রগুলি পরে সাইটে লগ ইন করতে পারে এবং অ্যাকাউন্টে সংরক্ষণ করা কার্যকলাপের ইতিহাসের মতো ব্যক্তিগত তথ্য দেখতে পারে।

"উপন্যাস আক্রমণ" উপর জোর দেওয়া। আপনার ব্যবহারকারীদের বিরুদ্ধে ফিশিং আক্রমণটির প্রভাবটি কল্পনা করুন এবং তারপরে ফিশিং আক্রমণটি ব্যবহারকারীর নিজস্ব বিশ্বস্ত বুকমার্কের মাধ্যমে আপনার সাইটে কাজ করার কথা ভাবুন! উপরে উল্লিখিত মন্তব্য থ্রেডে লিঙ্ক করা কাগজটি বেশ কয়েকটি উদাহরণ দেয় যা সাধারণ গোপনীয়তার আক্রমণ ছাড়িয়ে যায়।


6
সিএসআরএফ সুরক্ষা কীভাবে সহায়তা করে? আক্রমণকারীকে তার নিজস্ব সিএসআরএফ টোকেন জিজ্ঞাসা করা এবং কেবল সেটির সাথে জমা দেওয়া থেকে বাধা দেওয়ার কি কিছু আছে? যেহেতু কোনও প্রমাণিত অধিবেশন বিদ্যমান নেই, তাই ওয়েব সার্ভারের পক্ষে অন্যের তুলনায় একটি টোকেন পছন্দ করার কোনও কারণ নেই।
উ। উইলসন

2
"আক্রমণকারীকে তার নিজস্ব সিএসআরএফ টোকেন জিজ্ঞাসা করা এবং কেবল তা জমা দেওয়ার কিছু রোধ করছে কি?" - হ্যাঁ! এটি সিএসআরএফ প্রতিরোধের যুক্তির পিছনে পুরো অনুমান। ব্রাউজারগুলি ফর্ম জমা দেওয়ার জন্য অন্য উত্সকে লক্ষ্য করার অনুমতি দেয়, কিন্তু তারা [ইচ্ছাকৃতভাবে] জেএসকে আর কোনও সাইট-অন জুড়ে ডেটা পড়ার অনুমতি দেয় নি , কেবলমাত্র সিআরএস-এর মাধ্যমে অপ্ট-ইন করুন। যদি আপনি সিওআরএস ভুল সেট আপ না করেন, আক্রমণকারী একটি ফর্ম জমা দেওয়ার ট্রিগার করতে পারে (যার মধ্যে কুকিজের মধ্যে বিদ্যমান সিএসআরএফ টোকেন অন্তর্ভুক্ত থাকতে পারে ) তবে প্রয়োজনীয় দ্বিতীয় কপিটি প্রেরণ করার জন্য টোকেন জানার কোনও উপায় নেই (যেমন শরীর / শিরোনামগুলিতে)। সুতরাং সিএসআরএফ কোড প্রত্যাখ্যান করবে।
natevw

7
আমি মনে করি আপনার শেষ মন্তব্যটি ভুল (আপনি এ। উইলসন যা বলছিলেন তা ভুল বুঝেছিলেন)। আমরা বলছি যে আক্রমণকারী কোনও http://good.com/login.htmlক্লায়েন্টে লোড করতে পারে , নেস্টেড সিএসআরএফ টোকেনটিকে বিশ্লেষণ করতে পারে এবং তারপরে http://bad.com/login.htmlএমন একটি পরিবর্তিত ফর্ম প্রকাশ করতে পারে যা তার ব্যবহারকারীর নাম, পাসওয়ার্ড এবং টোকেন জমা দেয় যা ভুক্তভোগী কী ধরণের তা বিবেচনা না করেই সিওআর প্রয়োগ হয় না কারণ আপনি ' দুটি পৃথক ক্লায়েন্ট পেয়েছে: আক্রমণকারী এবং শিকার। সুতরাং এই প্রশ্নের পুনরাবৃত্তি করতে: সিএসআরএফ সুরক্ষা কি লগইন ফর্মগুলির জন্য সত্যই কাজ করে?
গিলি

8
হ্যাঁ, সিএসআরএফ একটি লগইন ফর্মকে ক্রস-সাইট অনুরোধ জালিয়াতি থেকে রক্ষা করবে । একটি যথাযথ সিএসআরএফ টোকেন প্রতিবার তৈরি হওয়ার সময় ক্রিপ্টোগ্রাফিকভাবে অনন্য। অবশ্যই, আক্রমণকারী নিজেই একটি টোকেন পেতে পারে তবে এটি এখনও তাদের ব্রাউজারে ভুক্তভোগী কুকিকে [সম্ভাব্যভাবে আনসেট করা] মেলে না এবং ভাল ডোমেনের কোনও পৃষ্ঠাতে আপস না করে আক্রমণকারীর কুকি সেট করার কোনও উপায় নেই। (আপনার উদাহরণটি সিএসআরএফ এবং এক ধরণের অদ্ভুত ফিশিং হামলার মধ্যে কিছুটা বিভ্রান্ত বলে মনে হচ্ছে, যদিও আমি আপনার আসল প্রশ্নের উত্তর দিচ্ছি কিনা তা আমি নিশ্চিত নই ...)
ন্যাটভডব

3
আমি ভুল হতে পারি, তবে যদি মনে হয় যে ব্যবহারকারী দুর্ঘটনাক্রমে আইটেমগুলি কেনার সাথে সম্পর্কিত কিছু করে তবে একটি উল্লেখযোগ্য হুমকি রয়েছে। উদাহরণস্বরূপ, কোনও আক্রমণকারী ব্যবহারকারীকে কোনও ওয়েবসাইটে লগ ইন করার কৌশল দেয় এবং ব্যবহারকারী অন্য আইটেমে রয়েছে তা উপলব্ধি না করে আইটেমগুলি ক্রয় করতে এগিয়ে যায় (মনে হয় অ্যামাজন বা অনুরূপ)। এখন আক্রমণকারীটির সংরক্ষণের অর্থ প্রদানের তথ্যে অ্যাক্সেস রয়েছে, ক্রয়গুলি পুনর্নির্দেশ করতে পারে ইত্যাদি
7878

14

আপনার বোঝাপড়াটি সঠিক - সিএসআরএফের পুরো বিষয়টি হ'ল আক্রমণকারী আগে থেকেই বৈধ-অনুরোধ অনুরোধ জাল করতে পারে। তবে আক্রমণকারী শিকারের ব্যবহারকারী নাম এবং পাসওয়ার্ড না জানলে লগইন ফর্মের সাহায্যে এটি করা যাবে না, সেক্ষেত্রে আক্রমণ করার আরও কার্যকর উপায় আছে (নিজেরাই লগ ইন করুন)।

চূড়ান্তভাবে কেবল আক্রমণকারীটিই করতে পারে যে ব্যর্থ লগইনগুলিকে স্প্যামিং করে আপনার ব্যবহারকারীদের অসুবিধা করতে হবে, যখন সুরক্ষা ব্যবস্থা ব্যবহারকারীকে কিছু সময়ের জন্য লক আউট করে।


2
বাহ সুপার দ্রুত উত্তর! অনেক ধন্যবাদ! এখন আমি আত্মবিশ্বাসের সাথে আমার ওয়েবসাইট তৈরি করা চালিয়ে যেতে পারি।
পিএইচপি_লাইনার

21
লগইন সিএসআরএফ এখনও ব্যবহারকারীর গোপনীয়তার উপর হামলার জন্য ব্যবহার করা যেতে পারে seclab.stanford.edu/websec/csrf/csrf.pdf
স্কিডল

6
@ স্পিডল: এটি একটি আকর্ষণীয় কাগজ, লিঙ্কটির জন্য ধন্যবাদ। তবে এটি আক্রমণকারীর নিয়ন্ত্রণের অধীনে কোনও অ্যাকাউন্টে ব্যবহারকারীকে লগ ইন করার উপর নির্ভর করে এবং ধরে নেয় যে ব্যবহারকারী কোনও কিছু সঠিক বলে বুঝতে পারবেন না এবং ধরে নেন যে ব্যবহারকারী সংবেদনশীল তথ্য তৈরি করতে চলেছে যা সার্ভারে সংরক্ষণ করা হবে। সুতরাং আইএমএইচও এটি "ক্লাসিক" সিএসআরএফের তুলনায় বেশ কম গুরুতর।
জন

6
@ জোন হ্যাঁ, এটি কম মারাত্মক হতে পারে তবে শেষ পর্যন্ত এটি অসুবিধা, অর্থাৎ গোপনীয়তার আক্রমণ ছাড়াও আরও বেশি কিছু হতে পারে। প্রতিটি পরিষেবাকে তাদের হুমকি মডেলটি নিজেরাই সংজ্ঞায়িত করতে হবে এবং সেই অনুযায়ী পরিচালনা করতে হবে। এটি করতে আপনার কমপক্ষে সম্ভাব্য হুমকিসমূহ সম্পর্কে সচেতন হওয়া দরকার। এজন্য আমি আমার 2 সেন্ট যুক্ত করেছি।
স্কুইডল

1
দয়া করে আপনি কীভাবে এটি প্রসারিত করতে পারেন যে "কীভাবে কোনও আক্রমণকারীই করতে পারে কেবলমাত্র ব্যর্থ লগইনগুলিকে স্প্যামিং করে আপনার ব্যবহারকারীদের অসুবিধে করতে পারে, যখন সুরক্ষা ব্যবস্থা ব্যবহারকারীকে কিছু সময়ের জন্য লক আউট করে।"
সামতিবেস্ট

0

হ্যাঁ , সুতরাং অন্যান্য ওয়েবসাইটগুলি আপনার লগইন ফর্মটি নকল করতে পারে না! এর মত সহজ.

তারা এটি করে কী অর্জন করতে পারে?

  • প্রথম: আপনি এটি অনুমতি দিতে চান না।
  • দ্বিতীয়: এমনকি খুব সাধারণ ব্যর্থতার ক্ষেত্রে যেমন:
    • ভুল পাসওয়ার্ড nনং কারণে ব্যবহারকারী অবরুদ্ধ । বার, এড়ানো যায়।
    • ফ্লাস হ্যাকিং সতর্কতাগুলি প্রতিরোধ করা যেতে পারে। ইত্যাদি ইত্যাদি

এই পয়েন্টগুলির বেশিরভাগই ভুল। আক্রমণকারী লগইন ফর্ম তৈরি করতে পারে, ব্যবহারকারীর শংসাপত্রগুলি লগইন ফর্মটি লোড করতে পারে (সিএসআরএফ টোকেন সহ) এবং লক্ষ্যে তিনটি তথ্য পোস্ট করতে পারে। সিএসআরএফ এটি প্রতিরোধ করে না।
স্নেপি

@ স্নেপি ব্রাউজারগুলি সাধারণত জেএসকে সিএসআরএফ ডেটা পড়ার অনুমতি দেয় না। জেএস ব্যবহার করে আপনি আসল ফর্ম জমা দেওয়ার অনুরোধটি অনুকরণ করতে পারবেন না।
mayankcpdixit

সিএসআরএফ টোকেন প্রায়শই ক্লায়েন্টকে জাভাস্ক্রিপ্ট দ্বারা ব্যবহারের জন্য দেওয়া হয়। আমি আক্রমণকারী সম্পর্কে যে কর নিয়ে যাচ্ছি সেগুলি নিয়ে কথা বলছি না কেবল লগইন ফর্মের জন্য এবং শংসাপত্রগুলি পূরণ করার অনুরোধ করছি। @ mayankcpdxit। আপনি বোঝাচ্ছেন যে সিএসআরএফ শংসাপত্রের স্টাফিং প্রতিরোধ করে, যা এটি করে না।
স্নেপি

তাত্ত্বিকভাবে, হ্যাঁ এটি প্রতিরোধ করতে পারে না। তবে সিএসআরএফ-এর পরে যদি আপনি সিএসআরএফ ফর্মগুলি লোড করা বন্ধ করেন এবং ক্রস-অরিজিন রেকর্ডের অনুমতি দেওয়া বন্ধ করেন তবে সিএসআরএফের পরে শংসাপত্রীয় স্টাফিং স্বয়ংক্রিয় করা সম্ভব নয়।
mayankcpdixit

-1

সিএসআরএফ বৈধতা প্রাক-লগইন IMHO খুব বেশি বোঝায় না।

লিঙ্কটির জন্য @ স্পিডলকে ধন্যবাদ: seclab.stanford.edu/websec/csrf/csrf.pdf , আমরা প্রথম পৃষ্ঠায় পড়তে পারি:

The most popular CSRF defense is to include a secret
token with each request and to validate that the received
token is correctly bound to the users session,
preventing CSRF by forcing the attacker to guess the
sessions token.

আপনি যদি সিএসআরএফ বৈধতা প্রাক-লগইনের চেষ্টা করেন, তবে আপনি কোনও সম্ভাব্য আক্রমণকারীকে আপনার ওয়েবসাইটের একটি বৈধ কোডটি স্ক্র্যাপ করার সুযোগ দেন! তারপরে তিনি উদ্দেশ্যটিকে পরাজিত করে টোকেনটি পুনরায় পোস্ট করতে সক্ষম হবেন।

সম্ভবত কোনও আক্রমণকারী তখন আপনার সাইটের ব্যবহারকারীর নাম অনুমান করার চেষ্টা করতে পারে। আমি যা করেছি, যদি আইপি ঠিকানাটি অনুমান করার চেষ্টা করে যে 10 টি ব্যবহারকারীর নাম সাফল্য ছাড়াই, আমি কেবল এটি কালো তালিকাভুক্ত করব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.