জাভাস্ক্রিপ্ট অবফেসেশন কী এবং কেন এটি হুমকি?


29

এভিজি সম্প্রতি আমাকে বলেছিল যে জাভাস্ক্রিপ্ট অবফ্যাসেশন করার কারণে একটি ওয়েবপৃষ্ঠা অবরুদ্ধ ছিল ।

ওয়েবপৃষ্ঠাটি কেন অবরুদ্ধ ছিল এবং এর অর্থ কী?


উত্তর:


38

আপত্তি আপনার জাভাস্ক্রিপ্ট কোডটির আসল অর্থ এবং অভিপ্রায়কে "অস্পষ্ট" করার একটি মাধ্যম। কিছু সাইট তাদের কোড অনুলিপি / ধার নিতে চায় এমন লোকদের বাধা হিসাবে ব্যবহার করে। অন্যান্য সাইটগুলি কোডের আসল উদ্দেশ্যটি আড়াল করার উপায় হিসাবে এটি ব্যবহার করে।

অস্পষ্টতার কিছু ফর্ম:

  1. কোডটি কম পঠনযোগ্য এবং বোঝার জন্য আরও শক্তিশালী করতে স্বয়ংক্রিয়ভাবে সংক্ষিপ্ত অর্থহীন নামগুলিতে ভেরিয়েবলের নামকরণ।
  2. সমস্ত অতিরিক্ত সাদা স্থান এবং লাইন ব্রেকগুলি অপসারণ করে কোডটি এক বিশাল লম্বা লাইন।
  3. কোডটি স্ব-উত্পন্ন করে এমন কিছু অংশ তৈরি করা যাতে কোডের প্রথম পাসটি প্রকৃত কোড তৈরি করতে চালিত হয় যা এরপরে উদ্দেশ্যপ্রণালী পরিচালনা করতে চালিত হয়।
  4. প্রকৃত কোড যা চালিত হবে তা তৈরি করতে স্বাভাবিক জাভাস্ক্রিপ্ট কোডের চেয়ে ইওালের সাথে মিলিত অক্ষর কোড এবং স্ট্রিং ম্যানিপুলেশন ব্যবহার করে।

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


আমি যা ভেবেছিলাম তা যাচাই করতে চেয়েছিলাম। স্পষ্টির জন্য ধন্যবাদ।
L84

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

4
কিছু সাইটগুলি জেএস সংক্ষেপণ ব্যবহার করে যাতে এটি দ্রুত লোড হয় (ভালভাবে সবাই amost), কোডটি আপত্তিজনক দেখায়।
jcubic

9
1এবং 2জাভাস্ক্রিপ্ট সংক্ষেপক দ্বারা সম্পন্ন হয়। সংকোচকারীরা একটি পার্শ্ব-প্রতিক্রিয়া হিসাবে কোডটিকে অস্পষ্ট করে, তবে এটি তাদের মূল উদ্দেশ্য নয়; তাদের মূল উদ্দেশ্যটি জাভাস্ক্রিপ্টকে আরও ছোট করা, ব্যান্ডউইদথ হ্রাস করা।
ব্লুরাজা - ড্যানি পিফ্লুঘুফুট

৫. এটি ডাউনলোড করার জন্য জেএস ফাইলগুলি সংকুচিত করতেও ব্যবহৃত হয়। ইয়াহু এটি ওয়েবে থাকায় এটি সম্পন্ন করেছে এবং ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য গুগলের সরঞ্জামগুলিও এটি করে (যেমন জিএমাইল এবং ক্যালেন্ডার)।
ক্লো

13

অস্পষ্টতা বলতে কোনও কিছুর উদ্দেশ্য বোঝানো বোঝায় iding

এই ক্ষেত্রে, স্পষ্টভাবে পঠনযোগ্য জাভাস্ক্রিপ্ট স্নিপেট, যেমন

window.onload = function() { alert("Hello " + username) };

দ্বারা প্রতিস্থাপিত হতে পারে

var _0xc5b2=["\x6F\x6E\x6C\x6F\x61\x64",
        "\x48\x65\x6C\x6C\x6F\x20"];window[_0xc5b2[0]]=
    function (){alert(_0xc5b2[1]+username);} ;

অথবা এমনকি

eval(unescape("var%20_0xc5b2%3D%5B%22onload%22%2C%22Hello%20%22%5D%3Bwindow"+
  "%5B_0xc5b2%5B0%5D%5D%3Dfunction%20%28%29%7Balert%28_0xc5b2%5B1%5D+username"+
  "%29%3B%7D%20%3B"));

তিনটি কোড স্নিপেটই ঠিক একই জিনিসটি করে তবে কেবল প্রথমটি পড়লে আপনি এর উদ্দেশ্যগুলি সহজেই বুঝতে পারবেন।

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

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


3
যদিও আমি প্রায়শই পেয়েছি, ডিওবস্টাস্টিকিং কোডটি প্রায়শই আমাকে দেখিয়েছে যে এটি চুরি করার মতো নয় এমন কুফলযুক্ত জাভাস্ক্রিপ্ট লুকায়। এটি এমন একটি লক্ষণ যা প্রোগ্রামার সঠিক প্রোগ্রামিং প্রযুক্তির চেয়ে চুরির বিষয়ে চিন্তা করতে বেশি সময় ব্যয় করে এবং এমনকি সহজেই ক্র্যাক হয়ে যায় তাই সঠিকভাবে অবজ্ঞাও পেতে পারে না। ডাবফস্টিকেট করার পক্ষে সত্যই কঠিন কোড তৈরিতে সময় লাগানো কেবলমাত্র লোকেরা হ'ল ম্যালওয়্যার প্রোগ্রামাররা, এ কারণেই এভিজি সাইটটিকে এড়ানোর জন্য এটি একটি ভাল কারণ হিসাবে পতাকাঙ্কিত করে।
ফায়াসকো ল্যাবগুলি 19

2
এভিজি একটি মেশিন, কোনও মানব নয়। স্পষ্টতই, একটি মেশিন কোড বুঝতে পারে, যা সেই কোডটি একই জিনিসটি করে। তদতিরিক্ত, লোকেরা সাধারণত সার্ভ করার সময় জাভাস্ক্রিপ্টের দিকে নজর দেয় না। এটি কেবল "সংঘটন দ্বারা দোষী" হওয়ার ঘটনা। কিছু জাভাস্ক্রিপ্ট যা বিপজ্জনক তা হ'ল নির্দিষ্ট কিছু নিদর্শন ব্যবহার করে। সুতরাং, অনুরূপ নিদর্শন সহ অন্যান্য জাভাস্ক্রিপ্ট সন্দেহজনক।
কাজ

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

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

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