کراس-سیٹ اسکرپٹنگ (XS) اور جاوا ایسکریپٹ دفاعی اداروں میں داخلی عمل ہے۔

کراس-سیپٹ اسکرپٹ (XS) سب سے زیادہ عام ویب سیکورٹی ونربریات میں سے ایک ہے، مسلسل درجہ بندی کے لیے اوو ایس پی پر حملہ کرنے والا ایکس ایس پی پر حملہ کرنے والا ہے دوسرے صارفین کی جانب سے ویب سائٹ پر شناخت کے لیے یہ اسکرپٹیں چوری، صفحے یا تنصیب کے لیے کمپیوٹر پر نشر ہونے والے ان باکسنگ، صفحات، صفحات یا تنصیبات پر مشتمل ہے. جب کہ سرور سیریز ان حملہ آوروں کو آپ کے استعمال کرنے سے روکنے کے لیے استعمال کیا جا رہا ہے، یہ ایکسپ ورڈ سے متعلقہ معلومات کو استعمال کر نے کے لیے نامے ہیں.

XSS کی تین اقسام کو سمجھنے کے لئے

روک تھام کے لیے پہلے ایکس ایس ایس کی تین بنیادی اقسام سمجھنا ضروری ہے: ذخیرہ، منعکس کرنا اور DM پر مبنی۔ ہر ایک کو ایک الگ الگ الگ طریقے اور روک تھام کی ضرورت ہوتی ہے۔

اسٹور XS

اس میں شامل ایکس ایس ایس (انگریزی: ExS) اس وقت ہوتا ہے جب کسی ڈیٹا بیس میں، Forum پوسٹ یا تبصرے میں مستقل طور پر محفوظ کیا جاتا ہے اور بعد میں بغیر مناسب صنف کے صارفین کے پاس کام کیا جاتا ہے. حملہ کرنے والا اخراجات جمع شدہ مواد کو دیکھنے کے لیے کسی بھی شخص میں لوڈ کرتا ہے۔

تصویر

تصور کریں کہ ایکس ایس ایس ای جب ویب سرور سے تصویری طور پر دکھائی دی جاتی ہے تو حملہ آور کسی پیرامیٹر یا شکل میں اسلام قبول کرنے کے ذریعے کسی شخص کو دھوکا دیتا ہے اور اس کے ساتھ ہی اس کا کوڈ فوراً درج کر لیتا ہے. XS محفوظ کرنے کے برعکس، ادائیگی جاری نہیں رہتی.

DdM-Based XSS -

DdM-on-XS ایک خالص کلائنٹ-side vulnerbility. حملہ آور ڈرافٹ کے براؤزر میں DM ماحول میں موجود موڈیس لوڈ کرتا ہے. بری کوڈ کبھی سرور کو چھو نہیں سکتا. یہ کلائنٹ-side جاوا کراسپٹ سے شروع ہوتا ہے کہ صارف کو انپٹ (مثلاً) میں (FLT1) سے لے کر چلتا ہے [FT2: [T2] [TT2]]۔

ڈیٹنگ ایکس ایس ایس حملہ جس میں جاوا ایسکریپٹ کے ساتھ

دیکیشن نقصان کے پہلے شک کی سرگرمی کو پہچاننے کے بارے میں ہے. جاوا سکرٹ صارف ان پٹس، راست ڈوMMMTTH اور Infology data کو داخلی نکات پر روک نہیں سکتا. جب کہ کلائنٹ-side سارے حملوں کو پکڑنے کے لیے (خاص طور پر حملہ آور کاروں کی درخواستوں کو براہ راست استعمال کرنے والا)، یہ دفاع کی ایک قیمتی لائن فراہم کرتا ہے۔

اصلاح اور سن‌تی‌ڈی‌شن

پرنٹ سے پہلےکل جانب کے صارف کو ہمیشہ داخل کرنا اور اسے قابل استعمال کرنا

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

یہ کام چونکہ کو ترتیب دینے کی تعبیر نہیں کرتا ؛ یہ سب کچھ صاف متن کے طور پر کرتا ہے. میں کسی بھی ایچ ٹی ایم ایل مخصوص حروف کے نسخے (مثلاً، ، ،) کے نام سے محفوظ ہیں۔

س . ع .

حملہ آور اکثر ٹیگ یا واقعہی انفنٹری (، میں داخلے [(FLT:14] اپ آئی اے، آپ غیر متوقع عناصر کے رد عمل کا انتظار کر سکتے ہیں.

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 });

کاؤٹیشن: بلاکس اسکرپٹ کے ذریعے سے بلاک کیا جا سکتا ہے ہوشیار حملہ آوروں کی جانب سے اور فرضی کاملیت کو توڑ سکتا ہے. اس کو ایک پرائمری روک تھام کی بجائے نگرانی کے ٹول کے طور پر استعمال کریں۔

دودھ پلانے والی چیزیں اور ہش پیرامیٹرز

ڈرم پر مبنی ایکس ایس ایس کے لیے، کو محفوظ طریقے سے پڑھیں اور براہ راست اقدار کو ایچ ٹی ایم ایل میں داخل کرنے سے گریز کریں:

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
}

جاوا ایس ایس ایس پر حملے کو روکنے کے لیے

جب ہم نے ایک کثیر التعداد طریقہ کار اختیار کیا ہے تو ہمہ وقت صرف ایک درخواست کو پورا نہیں کر سکتے بلکہ جب مناسب پیشہ ورانہ صہیونیت اور Content security پالیسی (CSP) کے ساتھ مل کر بھی خطرہ کم ہو جاتا ہے۔

انکووڈ تمام کارنر-کوترولڈ ڈاٹ کام کو ڈُک میں شامل کرنے سے قبل

سنہری اصول: کبھی بھی غیر اعتمادی اعداد براہ راست DM میں داخل نہیں کیا جاتا. اندرونی ایچ ٹی ایم ایل کی بجائے محفوظ DM طریقوں کا استعمال کریں۔

یا استعمال کریں

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

جب آپ کو استعمال کرنا ہو تو لائبریری کے ساتھ سنسکرت

اگر آپ کو ایچ ٹی ایم ایل (مثلاً امیر متن ایڈیٹر) سے مکمل طور پر چلانے کی ضرورت ہے تو ایک قابل اعتماد سنیٹنگ لائبریری پر بھروسا . DMMPL. ایک کثیر استعمال شدہ، جنگی لائبریری ہے جو محفوظ ایچ ٹی ایم ایل کو محفوظ کرتے ہوئے کووڈ کو ہٹا دیتی ہے۔

// 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;

پر منظرِ عام پر آنے والی ڈرامائی سرگرمیوں میں اضافہ، خطرناک ٹیگ اور خصوصیات کو تیز کرنے سے کام کرتی ہے اور صرف عناصر کو ہی اجازت دی جاتی ہے۔

ایسے خطرات سے بچیں جو ہمارے لئے نقصاندہ ثابت ہو سکتے ہیں

کچھ جاوا ایس ایس ایس کو روکنے کے لیے کچھ طریقے اور خصوصیات قابلِ برداشت ہیں یا پھر ان پر قابو پانے کے لیے:

  • — استعمال یا درست سنسکرت استعمال میں ہے.
  • ، ، — ایک ہی حکمرانی ۔
  • ] [1] — کبھی بھی صارف کے ساتھ نہیں استعمال ہوتا ۔
  • [1] [1] — اگر کوئی بھی انکم ٹیکس وصول کیا جائے تو اسے منافع بخش جا سکتا ہے۔
  • / کے ساتھ تار کوڈ کے ساتھ ساتھ — گریز کریں ؛
  • معمار — [1] [Analogous on ۔

JavaScrip؟

سی ایس پی ایک براؤزر پلگ انس ہے جو اسکرپٹ کو چلا سکتا ہے ایچ ٹی پی کے ہیڈ کوارٹرز کے ذریعے اسے دوبارہ ترتیب دیا جاتا ہے لیکن آپ اسے Tig یا Javascript کے ذریعے بھی استعمال کر سکتے ہیں عنصر کے ذریعے

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);

پروڈکشن کے لیے، آپ کی ویب سرور یا موڑل سی ایس پی میں شامل کر کے. ]MDN CSP دستاویزات وسیع پیمانے پر ہدایات فراہم کرتا ہے۔

مزید سیکورٹی اقدامات

جاوا ایسکریپٹ-ایشنز کے علاوہ، مکمل ایکس ایس ایس روک تھام کی حکمت عملی میں ان تنقیدی اقدامات شامل ہیں:

  • سرور کی جانب سے غیر فعال. Client-side Residation کو دوبارہ سے تبدیل کیا جا سکتا ہے. کبھی اعتماد کلائنٹ ڈاٹا پر اعتماد نہیں کیا جا سکتا.
  • [FLTP جواب دہندگان. [1]، ، ، اور خاص طور پر ۔
  • ہر بار آپ صارف اعداد و شمار کو مرتب کرتے ہیں Conpt کے معاملات: Ecode for HTML OF، Guam, Javascrip star strude, and.
  • ] گواتیو پلگن اپ لوڈ. [Vulnerable JavaScrip Library (مثلاً، jQueuri) ایک عام XS Victory. استعمال کرتے ہوئے num Audit یا ایسے ہی آلات استعمال کریں۔
  • مصنوعی XS سرپرستی کے ساتھ struction armors. [1] [1] غیر متوقع طور پر خارج ہونے والی، انگل اور وے فرار ہونے والی خودبخود برآمدی سے گریز کریں. تاہم یا ۔
  • [1] ایک سخت سی ایس پی [1] سے گریز کرو اور اگر ممکن ہو تو []. Noncons یا Haves for inline taff.

حقیقی-world مثال: امن تبصرے پر مبنی جواب دینا

ایک بلاگ تبصرہ نظام پر غور کریں جہاں صارفین ایسے پیغامات پیش کرتے ہیں جو دوسروں کے سامنے دکھائی دیے جاتے ہیں۔ایک حملہ آور داخلے کی کوشش کر سکتا ہے. یہ جاوا اسکرپٹ کا طریقہ ہے جس کے پیچھے پشتو میں ربط ہوتا ہے:

  1. [Frontented اطاعت : [1] سنسکرت استعمال کرنے والی] سرور کو بھیجنے سے پہلے (لیکن سرور کو اب بھی صنفی عمل میں لانا چاہیے۔
  2. Monver واپس ڈیٹا: [1] پشتونوں کو ٹیلی ویژن متن کو کوڈ کرنا چاہیے۔
  3. Client Transt: [1] استعمال یا محفوظ ٹیمپلر انجن. استعمال کرنے کے ساتھ ساتھ بھی استعمال نہیں کیا جاتا ہے۔
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);
}

اپنے دفاعی منصوبوں کی جانچ کریں

روکنے کے بعد، آپ کا اطلاقیہ کو جانچنے کے لیے، میں حساب لگانے کے لیے ایکسچینج اور دستی ادائیگی کے عمل کے ذریعے استعمال کیا جاتا ہے. عام ٹیسٹ وکٹر میں شامل ہیں:

ڈرافٹ ترقی یافتہ آلات استعمال کریں جنہیں DM کا جائزہ لینے اور ادا کرنے کے اخراجات کو یقینی بنایا جاتا ہے. اس کے علاوہ، خلاف ورزی رپورٹوں کے لیے ہنگامی جانچنے سے سی ایس پی کا امتحان پاس کیا جاتا ہے۔

کُنَّا

کراس اسکرپٹنگ ایک سنگین خطرہ ہے، لیکن جاوا سکیورٹی دونوں کے لیے طاقتور آلات فراہم کرتا ہے.

مزید پڑھنے کے لیے [WOASP XS page] اور [WeFAPXS ssss ssssss ssssss sssss settleet۔