কম্পিউটার

ফাইল অন্তর্ভুক্তি এবং নির্বিচারে কোড এক্সিকিউশন কি?

ফাইল অন্তর্ভুক্তি এবং স্বেচ্ছাচারী কোড সম্পাদন: এই মাসের শুরুর দিকে, ওয়ার্ডপ্রেস-এ নির্মিত একটি বিমানের টিকিট ওয়েবসাইট হ্যাক করা হয়েছিল যার ফলে হাজার হাজার দর্শকের ব্যক্তিগত ডেটা উন্মুক্ত হয়ে যায়। হ্যাকাররা কেন হ্যাক করে তার আগের একটি পোস্টে, আমরা হ্যাকারদের হ্যাক করার সমস্ত কারণ নিয়ে আলোচনা করেছি যার মধ্যে রয়েছে ডেটা চুরি করা, স্প্যাম ইমেল পাঠানো, তারা এমনকি তাদের নিজস্ব পণ্য র‌্যাঙ্ক করার জন্য ব্ল্যাক হ্যাট এসইও কৌশল ব্যবহার করতে পারে (পড়ুন - ফার্মা হ্যাক প্রস্তাবিত) , ইত্যাদি।

হ্যাকাররা কীভাবে একটি ওয়েবসাইট হ্যাক করে তা শেখা তাদের প্রতিরোধ করার জন্য একটি চাবিকাঠি যার কারণে আমরা একটি আগের নিবন্ধে ওয়ার্ডপ্রেস ওয়েবসাইটগুলিতে করা সবচেয়ে সাধারণ হ্যাক আক্রমণগুলি তালিকাভুক্ত করেছি৷

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

এই আক্রমণগুলি কীভাবে কাজ করে তা বোঝার জন্য, আপনাকে প্রথমে যে জিনিসটি জানতে হবে তা হল এটি পিএইচপি ফাইলগুলি জড়িত৷ আপনি নিশ্চয়ই ভাবছেন কেন? কারণ ফাইল অন্তর্ভুক্তি এবং আরবিট্রারি কোড এক্সিকিউশন আক্রমণ উভয়ই পিএইচপি ফাইল ব্যবহার করে।

কিন্তু একটি পিএইচপি ফাইল কি? একটি রান্নাঘর ক্যাবিনেটের কথা চিন্তা করুন। ক্যাবিনেটের অভ্যন্তরে, চিনি, লবণ, মশলা, বাসনপত্র ইত্যাদির মতো অনেকগুলি আইটেম রয়েছে৷ এই আইটেমগুলির প্রত্যেকটির রান্নাঘরে পরিবেশনের একটি উদ্দেশ্য রয়েছে৷ একটি PHP ফাইল হল একটি ক্যাবিনেট এবং ফাইলের ভিতরের কোডগুলি হল সেই আইটেম যা হ্যাকারের পছন্দসই কিছু ফাংশন সম্পাদন করতে সক্ষম করে৷ এই কারণেই হ্যাকাররা জেপিইজি বা পিডিএফ ফাইলের মতো অন্য যেকোন ফাইলের চেয়ে পিএইচপি ফাইল আপলোড করা পছন্দ করে। জেপিইজি এবং পিডিএফ ফাইলগুলি এক্সিকিউটেবল নয়, যেমন হ্যাকাররা এই ফাইলগুলিকে কোনও ফাংশন চালানোর জন্য ব্যবহার করতে পারে না। কেউ কেবল সেগুলি পড়তে পারে (অর্থাৎ দেখতে)। হ্যাক করা সাইটে কোনো পরিবর্তন করতে সেগুলি ব্যবহার করা যাবে না।

আপনার ওয়েবসাইট সার্ভারে একটি PHP ফাইল আপলোড করেছে এমন একজন হ্যাকার আপনার ওয়েবসাইটে যেকোনো কিছু করতে এটি ব্যবহার করতে পারে। আর এই কারণেই পিএইচপি ফাইলগুলি ফাইল ইনক্লুশন এবং আরবিট্রারি কোড এক্সিকিউশন অ্যাটাক চালানোর জন্য ব্যবহার করা হয়।

ফাইল ইনক্লুশন অ্যাটাক কী?

এই ধরনের একটি জটিল ওয়েবসাইট আক্রমণ বোঝার সর্বোত্তম উপায় হল একটি বাস্তব দৃশ্যের উদাহরণ দেওয়া। ধরা যাক আপনি আপনার প্রতিষ্ঠানের জন্য একটি ওয়েবসাইট চালান এবং সাইটটির নাম college.com। আপনি কিছু শিক্ষার্থীকে সাইটটি অ্যাক্সেস করার অনুমতি দেন যাতে তারা সাম্প্রতিক কলেজ ইভেন্টের সময় তোলা ছবি পোস্ট করতে পারে। কেউ আপনার দেওয়া অ্যাক্সেসের অপব্যবহার করে এবং ওয়েবসাইটে একটি ক্ষতিকারক PHP ফাইল (hack.php নামে) আপলোড করে৷ লক্ষ্য হল কলেজ ওয়েবসাইটগুলির নিয়ন্ত্রণ লাভ করা। যখন ছাত্র দূষিত PHP ফাইল আপলোড করে, ডিফল্টরূপে এটি আপলোড ফোল্ডারে সংরক্ষণ করা হয়। যে কেউ জানে ওয়ার্ডপ্রেসের মৌলিক গঠন আপলোড করা ফাইল কোথায় যায় তা জানে।

ফাইল অন্তর্ভুক্তি এবং নির্বিচারে কোড এক্সিকিউশন কি?
কোনও আপলোড যা একটি থিম নয় বা প্লাগইন আপলোড ফোল্ডারে সংরক্ষণ করা হয়। যে কেউ ওয়ার্ডপ্রেস এর গঠন জানেন আপলোড ফোল্ডার কোথায় পাওয়া যাবে জানেন. যারা জানেন না তাদের জন্য, আপলোড ফোল্ডারটি কোথায় অবস্থিত তা এখানে। ওয়েব হোস্টিং cPanel থেকে ফাইল ম্যানেজার খুলুন, তারপর Public_html> wp-content> আপলোডগুলিতে যান৷

ফাইলটি একটি দরজার মতো কাজ করে যা হ্যাকারকে ফাইলের সাথে দূরবর্তীভাবে যোগাযোগ করতে সক্ষম করে। নোট করুন হ্যাকারের এখনও সাইটের উপর নিয়ন্ত্রণ নেই, তাদের কাছে যোগাযোগের জন্য একটি উইন্ডো রয়েছে। সহজে বোঝার জন্য কল্পনা করুন একজন ব্যক্তি এমন একটি দেশে যেতে চান যেখানে তাকে অনুমতি দেওয়া হয়নি। তাই তিনি একজন এজেন্ট পাঠান, ব্যক্তি B। ব্যক্তি A হল হ্যাকার, দেশ হল কলেজের ওয়েবসাইট এবং ব্যক্তি B হল hack.php ফাইল।

পিএইচপি ফাইলগুলি কলেজের ওয়েবসাইটে আপলোড করা হয়েছে —-> ফাইলটি ওয়েবসাইট সার্ভারে সংরক্ষিত আছে

ব্যক্তি B শুধুমাত্র কয়েকটি বিষয়ে প্রশিক্ষিত এবং শুধুমাত্র এত কিছু করতে পারে। তাই ব্যক্তি ক কে তাকে পরবর্তী করণীয় সম্পর্কে নির্দেশ দিতে হবে। একই শিরায়, পিএইচপি ফাইলটি একটি যোগাযোগ উইন্ডো তৈরি করে এবং তারপর হ্যাকারের কাছ থেকে আরও কমান্ডের জন্য অপেক্ষা করে।

ধরা যাক যে hack.php এমনভাবে তৈরি করা হয়েছে যা ওয়েবসাইটে আরও ফাইল আপলোড করতে সক্ষম করে। হ্যাকার একটি ফাইল তৈরি করে (নাম control.php) যেটি সে hack.php ব্যবহার করে আপলোড করবে যা ইতিমধ্যেই ওয়েবসাইট সার্ভারে রয়েছে। নতুন ফাইল – control.php হ্যাকারকে ওয়েবসাইটটিতে সম্পূর্ণ অ্যাক্সেস পেতে সক্ষম করবে। তিনি সাইটটিতে control.php ফাইল আপলোড করতে hack.php ফাইল দ্বারা প্রদত্ত উইন্ডো ব্যবহার করেন। ওয়েবসাইট সার্ভারে ইতিমধ্যেই বিদ্যমান একটি ফাইল (hack.php) ব্যবহার করে control.php ফাইল আপলোড করার এই প্রক্রিয়াটিকে স্থানীয় ফাইল অন্তর্ভুক্তি বলা হয় .

লোকাল ফাইল এক্সিকিউশনের একটি বড় উদাহরণ হল ইজি ফর্ম ফর মেইলচিম্প ওয়ার্ডপ্রেস প্লাগইন (v 6.0.5.5) এ লক্ষ্য করা দুর্বলতা। MailChimp প্লাগইন ব্যবহার করে, ওয়েবসাইটের মালিকরা তাদের ওয়ার্ডপ্রেস সাইটে বিভিন্ন ধরনের ফর্ম যোগ করতে পারেন। একটি দুর্বলতা হ্যাকারদের MailChimp ফর্ম ব্যবহার করে একটি ওয়েবসাইট সার্ভারে একটি PHP ফাইল আপলোড করার অনুমতি দেয়৷ একবার ফাইলটি ওয়েবসাইট সার্ভারে সংরক্ষণ করা হলে, হ্যাকাররা তাদের সাথে যোগাযোগ করতে এবং কোডগুলি কার্যকর করতে সক্ষম হয় যা তাদের সার্ভার নিয়ন্ত্রণ করতে বা সাইটটিকে বিভিন্ন উপায়ে ক্ষতি করতে সক্ষম করে।

এখানে একটি দৃশ্য:কলেজের ওয়েবসাইটে একটি ফায়ারওয়াল ইনস্টল করা আছে এবং তাই হ্যাকার control.php আপলোড করতে পারে না। যদিও তিনি অন্য একটি পৃথক ফাইল আপলোড করতে পারবেন না তিনি একটি ফাইল 'অন্তর্ভুক্ত' করতে পারেন। এর অর্থ হল সে hack.php ফাইলের মধ্যে একটি ফাইল সন্নিবেশ করতে পারে যা ইতিমধ্যে কলেজের ওয়েবসাইট সার্ভারে উপস্থিত রয়েছে। হ্যাকার যদি control.php ফাইলটি আপলোড করতে সক্ষম হয়, তাহলে ওয়েবসাইট সার্ভার ফাইলটি পড়বে এবং ভিতরের কোডটি কার্যকর করবে যা হ্যাকারকে তার ইচ্ছামত কিছু করতে সক্ষম করবে। কিন্তু যেহেতু সে ফাইলটি আপলোড করতে পারে না, তাই তাকে সার্ভারকে control.php ফাইলটি পড়ার জন্য অন্য উপায় খুঁজে বের করতে হবে। একটি হ্যাকার দ্বারা তৈরি একটি পথ অনলাইন উপলব্ধ এবং কলেজ ওয়েবসাইটের সার্ভার এটি পড়তে সক্ষম হওয়া উচিত। তাই হ্যাকার একটি পথ তৈরি করে এবং সেগুলিকে অনলাইনে উপলব্ধ করে যাতে কলেজের ওয়েবসাইট সার্ভার এটি পড়তে সক্ষম হয়। সার্ভার তারপরে পাথ থেকে অর্জিত কোডটি কার্যকর করা শুরু করে এবং যেহেতু কোডটি এমনভাবে লেখা হয়েছে যা হ্যাকারকে সাইটের সম্পূর্ণ নিয়ন্ত্রণের অনুমতি দেবে, হ্যাকটি এখন কলেজের ওয়েবসাইট নিয়ন্ত্রণ করে। সার্ভারকে রিমোট ফাইল রিড করার এই প্রক্রিয়াটিকে রিমোট ফাইল ইনক্লুশন বলা হয়।

ফাইল অন্তর্ভুক্তি এবং নির্বিচারে কোড এক্সিকিউশন কি?
একটি উদাহরণ যা দেখায় কিভাবে TimThumb আক্রমণ হয়েছিল

TimThumb দুর্বলতার ক্ষেত্রে রিমোট ফাইল অন্তর্ভুক্তির একটি জনপ্রিয় উদাহরণ। TimThumb একটি ওয়ার্ডপ্রেস প্লাগইন যা একটি ওয়ার্ডপ্রেস সাইটে ইমেজ সহজে সম্পাদনা করার অনুমতি দেয়। এটি যেকেউ ইমেজ শেয়ারিং ওয়েবসাইট যেমন imgur.com এবং flickr.com থেকে সংগ্রহ করা ছবি ব্যবহার করতে সক্ষম করে। TimThumb imgur কে একটি বৈধ সাইট (বা সাদা তালিকাভুক্ত) হিসেবে স্বীকৃতি দেয়। হ্যাকাররা এই মানদণ্ডের সুযোগ নিয়ে URL গুলি দিয়ে ফাইল তৈরি করে যেখানে https://www.imgur.com.badsite.com এর মতো একটি বৈধ সাইটের উল্লেখ রয়েছে৷ যখন তারা একটি URL সহ একটি দূষিত ফাইল আপলোড করে যেমন আমরা উপরে উল্লিখিত প্লাগইনটিকে বিশ্বাস করে বোকা বানানো হয় যে ফাইলটি একটি বৈধ ওয়েবসাইট থেকে এসেছে৷ এবং এটি ওয়েবসাইটের সার্ভারে একটি দূষিত ফাইল আপলোড করার অনুমতি দেয়। একটি প্লাগইনের দুর্বলতার সুবিধা নিয়ে ওয়েবসাইট সার্ভারের বাইরে থেকে একটি দূষিত ফাইল অন্তর্ভুক্ত করার এই পুরো প্রক্রিয়াটি হল রিমোট ফাইল অন্তর্ভুক্তি। ওয়েবসাইট সার্ভারে ক্ষতিকারক PHP ফাইল সংরক্ষণ করার পরে, হ্যাকাররা তাদের পছন্দসই ক্রিয়া সম্পাদন করতে এটির সাথে যোগাযোগ করতে পারে৷

একটি আরবিট্রারি কোড এক্সিকিউশন অ্যাটাক কি?

এখন যেহেতু আমরা জানি রিমোট এবং লোকাল ফাইল ইনক্লুশন কী, চলুন এগিয়ে যাই এবং চেষ্টা করি এবং বুঝতে পারি আরবিট্রারি কোড এক্সিকিউশন কী। ফাইল অন্তর্ভুক্তি এবং নির্বিচারে কোড অন্তর্ভুক্তি একে অপরের সাথে সম্পর্কযুক্ত। ফাইল অন্তর্ভুক্তির যে কোনও ক্ষেত্রে, হ্যাকারদের লক্ষ্য হল ওয়েবসাইটে একটি নির্বিচারে কোড চালানো। লোকাল ফাইল ইনক্লুশনের উদাহরণে ফিরে যাই যেখানে হ্যাকার কলেজের ওয়েবসাইটে একটি hack.php আপলোড করেছে এবং তারপর hack.php-এর সাহায্যে control.php আপলোড করেছে। আরবিট্রারি কোড এক্সিকিউশন শব্দটি হল হ্যাকারের হ্যাক করা ওয়েবসাইটে তার পছন্দের যেকোনো কমান্ড কার্যকর করার ক্ষমতার বর্ণনা। একবার PHP ফাইল (hack.php এবং control.php) ওয়েবসাইট সার্ভারে আপ হয়ে গেলে, হ্যাকার তার ইচ্ছামত যেকোন কোড এক্সিকিউট করতে পারে। তার আপলোড করা ফাইলগুলি থেকে যে কোনও কোড কার্যকর করার এই প্রক্রিয়াটিকে আরবিট্রারি কোড এক্সিকিউশন বলা হয়।
হ্যাক জটিল। এই পোস্টে, আমরা এটিকে সহজ হিসাবে ব্যাখ্যা করার চেষ্টা করেছি কিন্তু যদি এমন একটি অংশ থাকে যা আপনার কাছে কোন অর্থবোধ করে না, আমরা আমাদের পাঠকদের আমাদের কাছে লিখতে অনুরোধ করছি। পরবর্তী পোস্টে, আমরা ক্রস-সাইট স্ক্রিপ্টিং (XSS) নামে একটি ওয়ার্ডপ্রেস সাইটে আরেকটি সাধারণ হ্যাক আক্রমণ নিয়ে আলোচনা করছি। দেখা যাক.


  1. WAV এবং WAVE ফাইলগুলি কী?

  2. পিএইচপি ফাইল কি?

  3. সি প্রোগ্রামকে মেশিন কোডে রূপান্তর করার 4টি ধাপ কী কী?

  4. PHP কোড এক্সিকিউশন থেকে ঝুঁকিতে ওয়ার্ডপ্রেস সাইট