সংক্ষিপ্ত উত্তর: অনেক পরিস্থিতিতে ভিম এই ধরণের আক্রমণে ঝুঁকিপূর্ণ (যখন সন্নিবেশ মোডে পাঠ্য আটকানো হয়)।
ধারণার প্রমাণ
লিঙ্কযুক্ত নিবন্ধটি একটি প্রারম্ভিক পয়েন্ট হিসাবে ব্যবহার করে, আমি টেক্সটের মাঝের অংশটি লুকানোর জন্য এইচটিএমএল স্প্যান উপাদান এবং সিএসএস ব্যবহার করে নীচের কোডটি দিয়ে দ্রুত একটি ওয়েব পৃষ্ঠা তৈরি করতে সক্ষম হয়েছি যাতে কেবল ls -la
নৈমিত্তিক দর্শকের কাছে দৃশ্যমান হয় (না দেখে উৎস). দ্রষ্টব্য: ^[
হ'ল পালাবার চরিত্র এবং এটি ^M
হ'ল ক্যারেজ রিটার্ন চরিত্র। স্ট্যাক এক্সচেঞ্জ ব্যবহারকারীর ইনপুট স্যানিটাইজ করে এবং সিএসএস ব্যবহার করে সামগ্রী লুকানোর বিরুদ্ধে সুরক্ষা দেয় তাই আমি ধারণার প্রমাণটি আপলোড করেছি ।
ls ^[:echom "This could be a silent command."^Mi -la
আপনি যদি সন্নিবেশ মোডে থাকতেন এবং এই পাঠ্যটি টার্মিনাল ভিমটিতে আটকালেন (কিছু যোগ্যতার সাথে নীচে দেখুন) আপনি দেখতে পাবেন ls -la
তবে আপনি যদি :messages
কমান্ডটি চালনা করেন তবে আপনি লুকানো ভিম কমান্ডের ফলাফল দেখতে পাবেন।
প্রতিরক্ষা
এই আক্রমণ থেকে রক্ষা করার জন্য সাধারণ মোডে থাকা এবং "*p
বা ব্যবহার করে পেস্ট করা ভাল "+p
। সাধারন মোড, যখন পি একটি রেজিস্টার থেকে Utting টেক্সট, (আড়াল অংশ সহ) সম্পূর্ণ টেক্সট আটকানো হয়। এটি সন্নিবেশ মোডে ঘটেনি (এমনকি :set paste
) সেট করা থাকলেও ।
বন্ধনীযুক্ত পেস্ট মোড
ভিমের সাম্প্রতিক সংস্করণগুলি বন্ধনীযুক্ত পেস্ট মোড সমর্থন করে যা এই ধরণের অনুলিপি-পেস্ট আক্রমণকে প্রশমিত করে। সাতো কাতসুরা স্পষ্ট করে বলেছেন যে "বন্ধনীযুক্ত পেস্টের জন্য সমর্থন ভিমে 8.0.210 এ উপস্থিত হয়েছিল এবং সম্প্রতি এটি 8.0.303 সংস্করণে ঠিক করা হয়েছিল (২ রা ফেব্রুয়ারী ২০১ 2017 এ প্রকাশিত হয়েছে)"।
দ্রষ্টব্য: আমি যেমন এটি বুঝতে পারি, বন্ধনীযুক্ত পেস্ট মোডের সমর্থনের সাথে ভিমের সংস্করণগুলি - - (বেশিরভাগ জিএনইউ / লিনাক্স ডেস্কটপ এনভায়রনমেন্টস), - (এমএস উইন্ডোজ), - (ম্যাক ওএস এক্স) - অথবা একটি মাউস ব্যবহার করে আটকাতে হবে protect মধ্যম ক্লিক করুন।CtrlShiftVCtrlVCommandVShiftInsert
পরীক্ষামূলক
আমি পরে লুবুন্টু 16.04 ডেস্কটপ মেশিন থেকে কিছু পরীক্ষা করেছি তবে আমার ফলাফলগুলি বিভ্রান্তিমূলক এবং বেআইনী ছিল। আমি তখন থেকেই বুঝতে পেরেছি যে এটি কারণ আমি সর্বদা জিএনইউ স্ক্রিন ব্যবহার করি তবে দেখা যাচ্ছে যে স্ক্রিনটি বন্ধনীযুক্ত পেস্ট মোড সক্ষম / অক্ষম করতে ব্যবহৃত পলায়ন ক্রমটি ফিল্টার করে (একটি প্যাচ রয়েছে তবে মনে হয় এটি এমন এক সময়ে জমা দেওয়া হয়েছিল যখন প্রকল্পটি সক্রিয়ভাবে পরিচালিত হচ্ছে না)। আমার পরীক্ষায়, ভিএন বা টার্মিনাল এমুলেটর বন্ধনীযুক্ত পেস্ট মোড সমর্থন করে কিনা তা বিবেচনা না করেই জিএনইউ স্ক্রিনের মাধ্যমে ভিম চালানোর সময় ধারণার প্রমাণ সর্বদা কাজ করে।
আরও পরীক্ষাটি দরকারী হবে তবে, এখনও অবধি, আমি দেখতে পেয়েছি যে টার্মিনাল এমুলেটরের দ্বারা বন্ধনীযুক্ত পেস্ট মোডের জন্য সমর্থনটি আমার ধারণার প্রুফকে অবরুদ্ধ করে রাখে - যতক্ষণ না জিএনইউ স্ক্রিন প্রাসঙ্গিক প্রাসঙ্গিক ক্রিয়াকলাপ অবরুদ্ধ করে না। তবে, ব্যবহারকারী নিওনিও রিপোর্ট করেছেন যে বন্ধকযুক্ত পেস্ট মোড থেকে বেরিয়ে আসার জন্য অব্যাহতিক্রমের সাবধানতার সাথে ক্র্যাফটিং ব্যবহার করা যেতে পারে।
দ্রষ্টব্য যে ভিমের একটি আধুনিক সংস্করণ থাকা সত্ত্বেও, ব্যবহারকারী প্রচ্ছদটি সর্বদা কাজ করে যদি ব্যবহারকারী *
( Ctrl- R*) টাইপ করে সন্নিবেশ মোডে থাকাকালীন রেজিস্টার থেকে পেস্ট করে । এটি জিভিআইমের ক্ষেত্রেও প্রযোজ্য যা টাইপ করা এবং আটকানো ইনপুটটির মধ্যে পার্থক্য করতে পারে। এই ক্ষেত্রে, ভিম তাদের নিবন্ধভুক্ত সামগ্রীর সামগ্রীর উপর নির্ভর করতে এটি ব্যবহারকারীকে ছেড়ে দেয়। সুতরাং অবিশ্বস্ত উত্স থেকে আটকানোর সময় কখনও এই পদ্ধতিটি ব্যবহার করবেন না (এটি আমি প্রায়শই করি - তবে আমি এখন নিজেকে প্রশিক্ষণ দেওয়া শুরু করি না)।
সম্পর্কিত লিংক
উপসংহার
পাঠ্য আটকানোর সময় সাধারণ মোডটি ব্যবহার করুন ( +
বা *
রেজিস্টারগুলি থেকে)।
… অথবা ইমাস ব্যবহার করুন। শুনেছি এটি একটি শালীন অপারেটিং সিস্টেম। :)