Table of Contents

ক্রস- Scotif-এ পরিচিতি (XSS) এবং JavaScript প্রতিরক্ষা ব্যবস্থা

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

XSS এর তিনটি ধরন বুঝতে

প্রতিরোধ করার আগে, এক্সিটের প্রাথমিক বিভাগটা বোঝা জরুরী: সঞ্চয়, প্রতিফলিত, এবং DM ভিত্তিক তিনটি বিভাগের। প্রতিটির জন্য কিছুটা আলাদা শনাক্তিকরণ এবং প্রতিরোধ ব্যবস্থা প্রয়োজন।

সংরক্ষিত স্টোর

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

প্রতিফলনপ্রাপ্ত XSPRD

এই আক্রমণকারী ব্যক্তি একটি যন্ত্রের সঙ্গে ক্লিক করে শিকারকে কৌশলের মাধ্যমে ক্লিক করে এবং অবিলম্বে সেই কোড সঞ্চালন করে ।

DOMBad XSS-Bobilks

DOMS-ভিত্তিক ডিস্ক-স একটি সম্পূর্ণ ক্লায়েন্ট-সাইট্যমান। চিহ্নিত মান দ্বারা শিকার ব্রাউজারের DOM এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে DOM পরিবেশ পরিবর্তন করা হয়। কোড কখনো স্পর্শ করা না থাকলে, ক্লায়েন্টের দ্বারা যে সমস্ত টেক্সট আহরণ করা হয়; এটি থেকে আরম্ভ হয় (eFO), যে সব সফ্টলিপডলিপন্স ব্যবহারকারীদের ইনপুট প্রদান করা হয় (eFO:,[F], [F], [F], [F], p::::, ver.0]

জাভাস্ক্রিপ্ট- এ XSS আক্রমণ সনাক্ত করা

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

ইনপুট ও সমকালীনকরণ

প্রয়োজন অনুসারে ক্লায়েন্টের মধ্যে উপলব্ধ ব্যবহারকারীর ইনপুট প্রাপ্ত করার জন্য [FLT] ব্যবহার করুন । [FFLT] [FLT] পরিবর্তে [FLT] - র পরিবর্তে [FFLT ব্যবহার করুন] - এর পরিবর্তে স্ক্রিপ্ট সঞ্চালনের উদ্দেশ্যে চিহ্নিত পংক্তিতে ফাঁদের সম্ভাব্য অক্ষরগুলি উল্লেখ করুন । নিম্নলিখিত কমান্ড থেকে প্রাপ্ত মান মুছে ফেলা হবে:

function sanitizeInput(input) {
 const div = document.createElement('div');
 div.textContent = input;
 return div.innerHTML;
}

এর কারণ [[F][FLT] HTML ট্যাগগুলি কোনো ব্যাখ্যা করে না; এর ফলে সবকিছুই সাধারণ টেক্সট হিসাবে বর্ণনা করা হয় । [FO] এর ফলে HTMLগুলির মধ্যে যে কোনো বিশেষ বিশেষ বিশেষ অক্ষর (e.FO:L, [FO], [F]:[F],[F],[F],[F]]

সসফ্ট উপাদানের জন্য DOM ASIfing নিরীক্ষণ করা হচ্ছে

আক্রমণকারীরা প্রায়ই [[FLT] ট্যাগ [F] বা ইভেন্ট হ্যান্ডলার [[[[F], [FFLT] এর] ব্যবহার করে [FLT], [FLT] এর] WHOFO[FLT] ব্যবহার করে, অপ্রত্যাশিত উপাদানের জন্য আপনি তা দেখতে পারেন ।

const observer = new MutationObserver((mutations) => {
 mutations.forEach((mutation) => {
 mutation.addedNodes.forEach((node) => {
 if (node.nodeType === 1) { // element node
 if (node.tagName === 'SCRIPT') {
 console.warn('Potential XSS: a script element was injected via DOM.');
 node.remove(); // or log and analyze
 }
 // Check for dangerous attributes
 if (node.hasAttribute('onerror') || node.hasAttribute('onload')) {
 console.warn('Suspicious event handler attribute detected.');
 }
 }
 });
 });
});
observer.observe(document.body, { childList: true, subtree: true });

[[[F] Collps:[FLT] [FLT] [FLT[F] স্ক্রিপ্ট ব্লক করা হচ্ছে [FLT] চতুর আক্রমণ দ্বারা পাশ বাঁধা দেওয়া যাবে এবং বৈধ কার্যকারীতা না করতে পারে । এটি একটি প্রাথমিক প্রতিরোধের পদ্ধতি ব্যবহার করে পর্যবেক্ষণ করার পরিবর্তে একটি পর্যবেক্ষণ টুল হিসেবে ব্যবহার করুন ।

URI ও হ্যাশ পরামিতি বৈধ নয়

DOM ভিত্তিক XSS, URL-র সামগ্রী [[FFLT] ব্যবহার করে নিরাপদে পড়া হবে এবং সরাসরি এক্সিকিউটেবল কোড ধারণ করার চেষ্টা করা এড়িয়ে চলুন ।

const params = new URLSearchParams(window.location.search);
const userParam = params.get('name');
if (userParam && /[<>"'\/]/.test(userParam)) {
 console.warn('Potential XSS in parameter: ' + userParam);
 // Do not use this value in the DOM without encoding
}

JavaScript- র সাথে XSS আক্রমণ প্রতিরোধ করা হচ্ছে

প্রতিরোধ করার জন্য একটি মাল্টি- মেইল পদ্ধতি প্রয়োজন । JavaScript একটি অ্যাপ্লিকেশন একা সম্পূর্ণভাবে নিরাপদ করতে পারে না কিন্তু উপযুক্ত ব্যাক- এন্ডের সাথে যখন উপযুক্ত ব্যাক- এন্ড [FOP] এবং [FOP] নিরাপত্তা নীতি [FOP] [FOD] [F], এর ফলে নাটকীয় ঝুঁকি হ্রাস পায় ।

সকল ব্যবহারকারীর দ্বারা আন-লক করা হয়েছে DOM- এ পাঠানোর আগে সকল ব্যবহারকারীর তথ্য একত্রিত করা হবে

সোনার নিয়ম: DOM থেকে কখনো অবিশ্বস্ত তথ্য সরাসরি না থাকলে গুপ্ত এইচ.এম.এল. ব্যবহার করো ।

[[FLT] অথবা [FLT]: [FLT]

const userInput = getUserInput();
const safeText = document.createTextNode(userInput);
document.getElementById('output').appendChild(safeText);

[[[F][FLT], লাইব্রেরিতে আস্থা সহকারে উত্তর দিন

যদি আপনি সম্পূর্ণভাবে এইচ- টি- এম- এল হিসেবে এইচ- টি- এম- এল কোড লিখতে প্রয়োজন বোধ করেন, তাহলে একটি ধনী টেক্সট সম্পাদক থেকে একটি বিশ্বস্ত লাইব্রেরি যেমন [FROPROPROPLY] /ROD লেখা প্রয়োজন । DOPLOPLOPL [F], একটি ব্যাপক যুদ্ধ, যা এইচটিকাল এইচটিএমএল- টি এইচ- টি- এম- ডি- এস কোড প্রত্যাহার করে ।

// Example with DOMPurify (install via npm or CDN)
const dirty = '<img src=x onerror="alert(1)">';
const clean = DOMPurify.sanitize(dirty);
document.getElementById('content').innerHTML = clean;

ইনপুটের মধ্যে উপস্থিত ইনপুট, বিপজ্জনক ট্যাগ ও বৈশিষ্ট্যের তথ্য পার্স করতে ব্যবহৃত হয়। [FFOPL][FOPL][FOPREDY][FOP] এর মধ্যে GFONESputPL [1]) জন্য উপলব্ধ করা হয়।

বিপদজনক জাভাস্ক্রীপ্ট ফাংশন এড়িয়ে চলুন

XSS- র কয়েকটি JavaScript পদ্ধতি ও বৈশিষ্ট্য সক্রিয় করার জন্য কুখ্যাত, এই ক্ষেত্রে নিষ্ক্রিয় অথবা সমর্থিত নয়:

  • [[F][F][FLT][F][FLT] [FLT] - ত্রুটি [F] -[F] ব্যবহার করে URL [FLT] ব্যবহার করুন [FLT]: [FOR] [FLT সঠিকভাবে পরিষ্কার করুন]
  • [[[F][F][FLT], [FLT], [FFLT] [FLT][FLT] [FLT] [FL]: [FLT] — একই নিয়ম]
  • [[F][F][F8][FLT][FLT] [FLT] - ব্যবহারকারী ইনপুট এর সাথে কখনো ব্যবহার করা হবে না ।
  • [[[F][F][F][F][F]][F]][FLT] -]]] উপেক্ষা করা যাবে যে কোনো ইনপুটের ত্রুটির হার হ্রাস করা হবে।
  • [[[[[[[[[][F][F][F1][F1][P][F1]][FO] - তে লেখা কোড [FLT] - এর পরিবর্তে ফাংশন ব্যবহার করুন।
  • [[[F][F][F][F][F][F][F]][F][F] -R] -[FLT] এর জন্য একটি ullli ব্যবহৃত হবে [FLT] [b]

JavaScript-র মাধ্যমে প্রযোজ্য নয় কি?

CP একটি ব্রাউজার পদ্ধতি যা এইচ- টি- এম- এল হেডার ব্যবহার করে রান করা যায় । এটি সাধারণত HTTP হেডার- এর মাধ্যমে চালানো হয়, কিন্তু আপনি এটি ব্যবহার করে একটি[FREL] ট্যাগ নির্ধারণ করতে পারেন অথবা JavaScript [FLT] ব্যবহার করে । একটি স্বয়ংক্রিয় বৈশিষ্ট্য তৈরি করার দ্বারা একটি জাভাস্ক্রীপ্ট উপাদান নির্ধারণ করতে পারেন । তবে যদি আপনি এইটি নিষ্ক্রিয় করে থাকেন, KSPATH- টি ইতিমধ্যেই একটি sting WED (F) - এর জন্য নিরাপদ বার্তা হিসেবে, KS/ StCET (PD) ব্যবহার করতে হবে ।

const meta = document.createElement('meta');
meta.httpEquiv = 'Content-Security-Policy';
meta.content = "default-src 'self'; script-src 'self' 'unsafe-inline'"; // Be very careful with 'unsafe-inline'
document.head.appendChild(meta);

প্রোডাকশনের জন্য, আপনার ওয়েব সার্ভারে PSP অথবা বিপরীত প্রক্সি কনফিগার করুন।[FRETP:LL [FTOSP][FDP নথিবদ্ধতাল : [FO]

অতিরিক্ত নিরাপত্তা পরিমাপ

JavaScript-র সুনির্দিষ্ট কৌশল ছাড়াও, একটি সম্পূর্ণ XSS প্রতিরোধ কৌশলের মধ্যে রয়েছে:

  • [[[[F]] সার্ভার পাশে সর্বদা বৈধ নয় ।[FFLT][FLT] নিষ্ক্রিয় [FLT] নিষ্ক্রিয়] নিষ্ক্রিয় করা যাবে । ক্লায়েন্ট- রি-ডাইরেক্টিং নিষ্ক্রিয় করা যাবে না ।
  • [[[[F] সঠিক উত্তর হিসাবে] [FO], [F[F], [FLT], এবং বিশেষ করে [FO[F] [F]: [F]
  • [[[[F] প্রত্যেক ব্যবহারকারীর তথ্য পার্স করা হচ্ছে [[[F] যে আই. এস. এল. বস্তুসমূহ উল্লেখ করা আছে: HTML দলের জন্য স্ক্রিপ্ট, URL এনকোডিং, প্রভৃতি ।
  • [[[F]) নির্ভরতার সাথে করা হচ্ছে ।[[F][FRET][FR]] [FPRECTable JavaScript লাইব্রেরীর (যেমন, j. g. org) একটি সাধারণ XSPRT এবং অনুরূপ সরঞ্জাম ।
  • [[F] নির্মিত XSLT [F] - DOD [F] - এস.0][FONECT], [FODON [F], 1] [FON [FO] সহযোগে নির্মিত কাঠামোগুলি মুছে ফেলা হবে।
  • [[[F] একটি কঠোর CPLY [FOP] [FL] [FLT] এড়িয়ে চলুন [FLT] এবং[FL][F3].L] যদি সম্ভব হয়, তবে ইউ. এস.এল. ৩: ৩.এল. স্ক্রিপ্টের জন্য কোনো সীমা নেই বা ইউ.এল.এল. পি. স্ক্রিপ্ট ব্যবহার করুন ।

বাস্তব-বিশ্ব উদাহরণ: নিরাপদ মন্তব্য সম্পাদক

এখানে একটি জাভাস্ক্রিপ্ট পদ্ধতি আছে যেখানে ব্যবহারকারীদের মধ্যে অন্যদের কাছে প্রদর্শিত বার্তা উপস্থাপন করা হয়েছে।

  1. [[[F] LAN partated:[FLT] [FFLT] সার্ভার প্রেরণের পূর্বে [FLT] [FLT] ব্যবহার করে [FLT [FLT] - এ প্রবেশ করান [FO]
  2. [[[F] ০০০] ০০০] অবিকৃত তথ্য:[[FO][FLT] [FLT]] ব্যাক-এন্ডটি এইচ- এল কোড কোড লেখা উচিত ।
  3. [[[F]][FFLT][F][FFL] [FLT] [FLT] ব্যবহার করে একটি নিরাপদ টেমপ্লেট ইঞ্জিন ব্যবহার করুন [FLT] [FLT] অথবা একটি নিরাপদ টেমপ্লেট ইঞ্জিন ব্যবহার করুন । কখনো ব্যবহার করুন [FLT] [FOFLT] [FLT] [FLT]: raw[F]
function renderComment(comment) {
 const item = document.createElement('div');
 item.className = 'comment';
 const body = document.createElement('p');
 body.textContent = comment.body; // escaped by browser
 item.appendChild(body);
 document.getElementById('comments').appendChild(item);
}

আপনার প্রতিরক্ষা পরীক্ষা

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

  • [[[F]:L]
  • [[[F]: ০০: ০০
  • [[[[[F]: ১.৫]
  • [[[[F]: ০০]
  • [[[F]:53]

DOM পরীক্ষা করতে ব্যবহার করুন এবং পেলোড করার জন্য বিভিন্ন প্যাকেজ ইনস্টল করা আবশ্যক । এছাড়াও, লঙ্ঘন সম্পর্কিত রিপোর্ট পরীক্ষা করে সিপিএন ব্যবহার করুন ।

অন্তর্ভুক্ত

ক্রস-সাইট স্ক্রিপ্ট একটি গুরুতর হুমকি, কিন্তু জাভাস্ক্রিপ্ট একই সাথে চিহ্নিত করা এবং প্রতিরোধ করার জন্য শক্তিশালী টুলগুলো প্রদান করে । ডিএম পরিবর্তন, doms আউটপুট এবং DOM লাইব্রেরি যেমন DOPugusible- এর মত ডাকাতি করা, এবং souiling লাইব্রেরিতে ক্লিক করুন । মনে রাখবেন, আপনি আপনার অবস্থান উল্লেখযোগ্যভাবে বলতে পারেন, Sust-rigni-ridouiling নিরাপত্তা সংক্রান্ত বিভিন্ন নিরাপত্তা ব্যবস্থা সক্রিয় করা, এবং নিরাপত্তা সংক্রান্ত বিভিন্ন পরীক্ষা, এবং নিরাপত্তা সংক্রান্ত বিভিন্ন নিয়ম ও নিরাপত্তা সংক্রান্ত বিভিন্ন পরীক্ষা। এটি একটি গুরুতরভাবে soundingsputingsends-ridr এবং নিরাপত্তা সংক্রান্ত বিভিন্ন পরীক্ষা।

আরও পড়ার জন্য [[F][FOPROP][FO] এবং[FOPL][FOPL] [FOPL][DOP] WOPL]:[৩]