ভিম কি অনুলিপি-অনুলিপি প্রতিরোধ ক্ষমতা?


112

আপনার ওয়েব থেকে কখনও আপনার টার্মিনালে পেস্ট করা উচিত নয় । পরিবর্তে, আপনার পাঠ্য সম্পাদককে আটকানো উচিত, কমান্ডটি পরীক্ষা করুন এবং তারপরে টার্মিনালে পেস্ট করুন।

এটি ঠিক আছে, তবে কি যদি ভিম আমার পাঠ্য সম্পাদক হয়? কোনও কি এমন একটি সামগ্রী তৈরি করতে পারে যা ভিমকে কমান্ড মোডে সরিয়ে দেয় এবং দূষিত আদেশটি কার্যকর করে?


2
@ryekayo আমি কীভাবে পটভূমিতে কমান্ড চালাতে জানি। প্রশ্নটি আরও রয়েছে যে
ভিম

3
ভিমের সাম্প্রতিক সংস্করণগুলিতে বন্ধনীযুক্ত পেস্ট রয়েছে, যা এই ধরণের আক্রমণ প্রতিরোধ করবে বলে মনে করা হচ্ছে।
স্যাট কাটসুরা

2
@ এমিলজেবেক পোস্টের লিঙ্কটি আপনাকে এর চেয়ে বরং পাহাড়ের জন্য দৌড়ানোর যথেষ্ট কারণ দেয়।
সাটস কাতসুরা

1
@ এমিলজেবেক আপনি যেমন এস্কেপ চরিত্রের সাহায্যে লুকানো পাঠ্যটি তৈরি করতে পারেন, আমি ধরে নিয়েছি আপনি ইওএফ দিয়ে পাঠ্যও তৈরি করতে পারেন ge তারপরে লুকানো লেখায় কিছু থাকতে পারে /bin/bash ; EOF rm -rf ~। টার্মিনাল এ আটকানো হলে এটি বাশ শুরু হবে, এটিকে বন্ধ করুন এবং তারপরে আপনার বাড়িটি মুছুন। যখন বিড়ালটিতে আটকানো হয়, এটি বিড়ালকে কমান্ডটি প্রিন্ট করতে, বিড়ালটিকে শেষ করতে এবং আপনার বাড়ি মুছতে দেয়।
অ্যাডাম ট্রিহন

উত্তর:


106

সংক্ষিপ্ত উত্তর: অনেক পরিস্থিতিতে ভিম এই ধরণের আক্রমণে ঝুঁকিপূর্ণ (যখন সন্নিবেশ মোডে পাঠ্য আটকানো হয়)।

ধারণার প্রমাণ

লিঙ্কযুক্ত নিবন্ধটি একটি প্রারম্ভিক পয়েন্ট হিসাবে ব্যবহার করে, আমি টেক্সটের মাঝের অংশটি লুকানোর জন্য এইচটিএমএল স্প্যান উপাদান এবং সিএসএস ব্যবহার করে নীচের কোডটি দিয়ে দ্রুত একটি ওয়েব পৃষ্ঠা তৈরি করতে সক্ষম হয়েছি যাতে কেবল 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*) টাইপ করে সন্নিবেশ মোডে থাকাকালীন রেজিস্টার থেকে পেস্ট করে । এটি জিভিআইমের ক্ষেত্রেও প্রযোজ্য যা টাইপ করা এবং আটকানো ইনপুটটির মধ্যে পার্থক্য করতে পারে। এই ক্ষেত্রে, ভিম তাদের নিবন্ধভুক্ত সামগ্রীর সামগ্রীর উপর নির্ভর করতে এটি ব্যবহারকারীকে ছেড়ে দেয়। সুতরাং অবিশ্বস্ত উত্স থেকে আটকানোর সময় কখনও এই পদ্ধতিটি ব্যবহার করবেন না (এটি আমি প্রায়শই করি - তবে আমি এখন নিজেকে প্রশিক্ষণ দেওয়া শুরু করি না)।

সম্পর্কিত লিংক

উপসংহার

পাঠ্য আটকানোর সময় সাধারণ মোডটি ব্যবহার করুন ( +বা *রেজিস্টারগুলি থেকে)।

… অথবা ইমাস ব্যবহার করুন। শুনেছি এটি একটি শালীন অপারেটিং সিস্টেম। :)


2
ভিমে আটকানোর আগে আপনার pasteমোড ( :set paste) সক্ষম করার কথা । তারপরে বন্ধনীযুক্ত পেস্ট কার্যকর হওয়া উচিত, তবে আপনার টার্মিনালটিও এটি সমর্থন করে। pasteমোড সক্ষম থাকলে আপনার ধারণার প্রমাণ কাজ করে না ।
সাটস কাতসুরা

1
আমি দেখতে পাচ্ছি না বন্ধনীযুক্ত পেস্ট মোডটি কীভাবে নিরাপদ। আক্রমণকারী যদি জানতে পারে যে আপনি বন্ধনীযুক্ত পেস্ট ব্যবহার করছেন তবে তারা \e[201~বন্ধনীযুক্ত পেস্ট মোড থেকে প্রস্থান করার জন্য কেবল পেস্ট কমান্ডটিতে একটি ক্রম আটকে থাকবে এবং আপনাকে যেভাবেই হোক pwn করতে এগিয়ে যাবে। (যদি না বন্ধনীযুক্ত
পেস্টগুলি

2
@ স্যাটোক্যাটসুরা: আমি ভিম ৮.০.৫৪০ তে চেষ্টা করেছিলাম, যা আসল আক্রমণটির পক্ষে ঝুঁকিপূর্ণ ছিল না। যোগ করার পরে \x1b[201~, শোষণটি আগের মতো কাজ করেছিল (অর্থাত্ কেবল ls -laবাফারে লেখা হয়েছিল এবং echomআদেশটি কার্যকর করা হয়েছিল)। অতএব, আমি মনে করি যে বন্ধনী করা পেস্ট এখনও একটি লক্ষ্যবস্তু আক্রমণ প্রবন, এবং হয় না একটি শক্তিশালী যথেষ্ট সমাধান। (বস্তুত, কোনো ইন-ব্যান্ড সংকেত আকারে দুর্বল!)
nneonneo

2
আমি এগুলি সাথে এবং বাইরে উভয়ই চেষ্টা করেছিলাম :set paste- শোষণটি এখনও কাজ করে। পুরোপুরি স্পষ্ট করা করার জন্য, আমি আটকানো নিম্নলিখিত (Base64- এনকোডেড) ফোঁটা: bHMgG1syMDF+GzplY2hvbSAiVGhpcyBjb3VsZCBiZSBhIHNpbGVudCBjb21tYW5kLiIKaSAtbGE=। OS X এর উপর, আপনি যে, চালানোর অনুলিপি করতে পারেন pbpaste | base64 -D | pbcopyপেস্ট করার জন্য একটি কাঁচা সংস্করণ পেতে vim
nneonneo

1
আরও স্পষ্ট করে বলার জন্য, আমি ম্যাকস টার্মিনাল.এপ ব্যবহার করে একটি উবুন্টু 16.04 বাক্সে এসএসএইচ সংযোগটি পরীক্ষা করছি। যদি আপনার টার্মিনাল এমুলেটরটি পেস্টে পালানোর ক্রমটি ছিটকে থাকে তবে আপনি সম্ভবত এই সিকোয়েন্সটি (যেমন \x1b\x1b[201~[201~) বাসাতে পারেন বা ফিল্টারটিকে বোকা বানানোর জন্য কিছু করতে পারেন।
nneonneo

0

আপনি যদি এক্স 11 ক্লিপবোর্ড বৈশিষ্ট্য, বা প্ল্যাটফর্ম-নির্দিষ্ট সমতুল্য ব্যবহার করে থাকেন এবং আপনি মাউস সমর্থন সক্ষম বা একটি ভিএম পেস্ট কমান্ড এবং কোনও টার্মিনাল পেস্ট কমান্ড নয় (শিফট-মিডল-বাটন বা টার্মিনালের শর্টকাটগুলি দিয়ে) মিডল বাটন পেস্ট ব্যবহার করেন অফার) তাহলে আপনি নিরাপদে থাকতে পারেন।

যদি তা না হয় তবে আপনার যদি একটি টার্মিনাল এমুলেটর থাকে যা বন্ধনীযুক্ত-পেস্ট মোড সমর্থন করে, এবং আপনি এটি আপনার টার্মিনালে এবং ভিমে সক্রিয় করেছেন, এবং সেই টার্মিনাল এমুলেটরটি বন্ধনযুক্ত-পেস্ট মোডের অবসান ঘটানো অব্যাহতি ক্রমের ইনজেকশনের বিরুদ্ধে সুরক্ষা প্রয়োগ করে, তাহলে আপনি নিরাপদে থাকতে পারেন

যদি তা না হয় তবে আপনি এখানে বর্ণিত আক্রমণে ঝুঁকির মধ্যে পড়তে পারেন ।

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