javascript validator কেন গুগল প্রিপেইড(1); তাদের JSON প্রতিক্রিয়া?




json validator (5)

কেন গুগল প্রিপেইড while(1); তাদের (ব্যক্তিগত) JSON প্রতিক্রিয়া?

উদাহরণস্বরূপ, গুগল ক্যালেন্ডারে একটি ক্যালেন্ডার চালু এবং বন্ধ করার সময় এখানে একটি প্রতিক্রিয়া:

while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],
  ['remindOnRespondedEventsOnly','true'],
  ['hideInvitations_remindOnRespondedEventsOnly','false_true'],
  ['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]]

আমি মনে করি এটি লোকেদের উপর একটি eval() বাধা দেবে, তবে আপনাকে অবশ্যই করতে হবে কেবল তখনই প্রতিস্থাপন করা হবে এবং তারপরে সেটআপ করা হবে। আমি Eval প্রতিরোধ নিশ্চিত করা হয় মানুষ নিরাপদ JSON পার্সিং কোড লিখতে নিশ্চিত করা হয়।

আমি এটি অন্য কয়েকটি স্থানেও ব্যবহার করেছি দেখেছি, তবে Google এর সাথে আরও অনেক কিছু (মেল, ক্যালেন্ডার, পরিচিতি, ইত্যাদি) এর সাথে বিস্ময়করভাবে যথেষ্ট, Google ডক্স &&&START&&& পরিবর্তে শুরু হয় এবং Google পরিচিতিগুলি while(1); &&&START&&& শুরু হয় while(1); &&&START&&& মনে হচ্ছে while(1); &&&START&&& while(1); &&&START&&&

এখানে কি হচ্ছে?


এটি একটি তৃতীয় পক্ষের জন্য <script> ট্যাগের সাথে একটি HTML নথিতে JSON প্রতিক্রিয়া সন্নিবেশ করা কঠিন করে তুলতে হবে। মনে রাখবেন <script> ট্যাগ একই মূল নীতি থেকে মুক্ত।


এটি JSON হাইজ্যাকিং প্রতিরোধ করে, যা একটি প্রধান JSON সুরক্ষা সমস্যা যা আনুষ্ঠানিকভাবে ২011 সাল থেকে EMCA5 এর সাথে সমস্ত প্রধান ব্রাউজারে fixed হয়।

কনভাইডেড উদাহরণ: গুগলের একটি URL রয়েছে যা mail.google.com/json?action=inbox যা JSON ফরম্যাটে আপনার ইনবক্সের প্রথম 50 টি বার্তা ফেরত দেয়। অন্যান্য ডোমেইনের ইভিল ওয়েবসাইটগুলি একই ডেটা পাওয়ার কারণে এই ডেটা পেতে AJAX অনুরোধগুলি করতে পারে না, তবে তারা <script> ট্যাগের মাধ্যমে URL অন্তর্ভুক্ত করতে পারে। ইউআরএলটি আপনার কুকিজের সাথে পরিদর্শন করা হয় এবং গ্লোবাল অ্যারে কন্সট্রাকটর বা অ্যাক্সেসর পদ্ধতিগুলি ওভাররাইড করার মাধ্যমে তাদের যখন কোনও বস্তু (অ্যারে বা হ্যাশ) বৈশিষ্ট্য সেট করা থাকে তখন এটি একটি পদ্ধতি থাকতে পারে যা তাদের JSON সামগ্রী পড়তে দেয়।

while(1); অথবা &&&BLAH&&& কিন্তু একটি <script> ট্যাগ সন্নিবেশ কোনও প্রক্রিয়াকরণ ছাড়াই জাভাস্ক্রিপ্টটিকে অন্ধভাবে চালায়, যার ফলে একটি অসীম লুপ বা সিনট্যাক্স ত্রুটি হয়।

এই ক্রস সাইট অনুরোধ জালিয়াতি সমস্যা মোকাবেলা করে না।


এটি আপনার ডেটা চুরি করার চেষ্টা করার জন্য অন্য কোন সাইটটি নোংরা কৌশলগুলি করতে পারে না তা নিশ্চিত করতে হয়। উদাহরণস্বরূপ, অ্যারে কন্সট্রাকটরটি প্রতিস্থাপনের মাধ্যমে, এই JSON URL টি <script> ট্যাগের মাধ্যমে, একটি ক্ষতিকারক তৃতীয় পক্ষের সাইটটি JSON প্রতিক্রিয়া থেকে তথ্য চুরি করতে পারে। একটি while(1); নির্বাণ দ্বারা while(1); শুরুতে, স্ক্রিপ্ট পরিবর্তে স্তব্ধ হবে।

অন্যদিকে, XHR এবং একটি পৃথক JSON পার্সার ব্যবহার করে একই সাইট অনুরোধটি সহজেই উপেক্ষা করতে পারে while(1); উপসর্গ।


যেহেতু <script> ট্যাগ একই মূল নীতি থেকে মুক্ত করা হয় যা ওয়েব বিশ্বের নিরাপত্তা প্রয়োজন, while(1) যখন JSON প্রতিক্রিয়াতে যোগ করা হয় তখন এটি <script> ট্যাগে অপব্যবহারকে বাধা দেয়।


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

সম্পাদনা - মন্তব্য (এবং অন্যান্য উত্তর) নোট করুন। সমস্যাটি অন্তর্নির্মিত অন্তর্নির্মিত সুবিধাগুলি, বিশেষ করে Object এবং Array কনস্ট্রাক্টরগুলির সাথে করতে হবে। যারা পরিবর্তন করা যেতে পারে যে অন্যথায় নির্দোষ JSON, যখন বিশ্লেষণ, আক্রমণকারী কোড ট্রিগার করতে পারে।





security