WordPress-এর ব্যাপক উপস্থিতির কারণে, হ্যাকাররা বিষয়ত আবার আবার প্রতিটি জনপ্রিয় WordPress প্লাগইনকে ভেদ করার চেষ্টা করে। ফলস্বরূপ, WordPress প্লাগইনে দুর্বলতা ডিসক্লোজার মনে হয় একটি এন্ডলেস প্রসেস। এইবার নوبة Zotabox-এর FB messenger live chat। তাই, Zotabox-এর FB messenger live chat-এ একটি পერსিস্টেন্ট XSS দুর্বলতা আবিষ্কৃত হয়েছে।
এই WordPress প্লাগইনটির অফিসিয়াল WordPress প্লাগইন ডিরেক্টরি অনুযায়ী ৩০,০০০+ সক্রিয় ইনস্টলেশন রয়েছে। WordPress.org অনুযায়ী, এটি একদিন আগে একটি নতুন ভার্সন 1.4.9-এ আপডেট করা হয়েছে প্যাচ করা দুর্বলতার সাথে।
FB messenger live chat-এ XSS দুর্বলতার বিবরণ
WordPress AJAX ফাংশনালিটির মাধ্যমে, যা ডেটা স্ক্রিপ্টে পাঠাতে এবং পেজ রিলোড ছাড়া ডেটা ফেরত পাওয়ার জন্য দায়ী, update_zb_fbc_code ফাংশন কারো দিয়ে অ্যাক্সেসযোগ্য।
নিচের কোড লাইনগুলোতে আপনি দেখবেন wp_ajax_update_zb_fbc_code (অথেন্টিকেশন করা ব্যবহারকারীদের জন্য) এবং wp_ajax_nopriv_update_zb_fbc_code (নন-প্রিভিলেজড ব্যবহারকারীদের জন্য), উভয়ই একই ফাংশন “update_zb_fbc_code“ ব্যবহার করছে। এইভাবে, যেকোনো ব্যবহারকারী (লগইন করা বা না করা) প্লাগইন সেটিংস মডিফাই করতে পারে। আমি যথেষ্ট জোর দিয়ে বলতে পারছি না কতটুকু ক্রিটিক্যাল একটি দুর্বলতা এটি এবং কোনো পথে এটি মিসইউজ করা যেতে পারে।
154 add_action("wp_ajax_update_zb_fbc_code", "update_zb_fbc_code"); 155 add_action("wp_ajax_nopriv_update_zb_fbc_code", "update_zb_fbc_code");
আরো, update_zb_fbc_code ফাংশনে প্লাগইন সেটিংস চেঞ্জ করার অনুমতি দেওয়ার আগে ক্যাপাবিলিটি চেক বা ক্রস-সাইট রিকোয়েস্ট ফোরজারি (CSRF) প্রিভেনশন চেক নেই। আরও, এই ফাংশন দ্বারা সেটিংস মডিফাই করার ইনপুটের স্যানিটাইজেশন এবং ভ্যালিডেশন খুব সীমিত। একমাত্র ফিল্টারিং যা করে সেটি হলো () স্যানিটাইজ করা, যা অপর্যাপ্ত কারণ চেঞ্জড সেটিংস ফ্রন্টএন্ডে রেন্ডার হয়।
157 function update_zb_fbc_code(){ 158 header('Access-Control-Allow-Origin: *'); 159 header('Access-Control-Allow-Credentials: true'); 160 $domain = addslashes($_REQUEST['domain']); 161 $public_key = addslashes($_REQUEST['access']); 162 $id = intval($_REQUEST['customer']); 163 $zbEmail = addslashes($_REQUEST['email']); 164 if(!isset($domain) || empty($domain)){ 165 header("Location: ".admin_url()."admin.php?page=zb_fbc"); 166 }else{ 167 update_option( 'ztb_domainid', $domain ); 168 update_option( 'ztb_access_key', $public_key ); 169 update_option( 'ztb_id', $id ); 170 update_option( 'ztb_email', $zbEmail ); 171 update_option( 'ztb_status_disconnect', 2 ); 172 wp_send_json( array( 173 'error' => false, 174 'message' => 'Update Zotabox embedded code successful !' 175 ) 176 ); 177 } 178 }
FB messenger live chat-এ এই XSS দুর্বলতার কারণে পরবর্তী প্রসেসগুলোও প্রভাবিত হয়। প্লাগইন insert_zb_fbc_code() রেজিস্টার করে WordPress পেজ লোড হলে রান করার জন্য:
151 add_action( 'wp_head', 'insert_zb_fbc_code' );
তারপর এটি print_zb_fbc_code() ফাংশনে ট্রান্সমিট হয় এবং স্লি।
139 function insert_zb_fbc_code(){ 140 if(!is_admin()){ 141 $domain = get_option( 'ztb_domainid', '' ); 142 $ztb_source = get_option('ztb_source',''); 143 $ztb_status_disconnect = get_option('ztb_status_disconnect',''); 144 $connected = 2; 145 if(!empty($domain) && strlen($domain) > 0 && $ztb_status_disconnect == 146$connected){ 147 print_r(html_entity_decode(print_zb_fbc_code($domain))); 148 } 149 } 150 }
180 function print_zb_fbc_code($domainSecureID = "", $isHtml = false) { 181 182 $ds1 = substr($domainSecureID, 0, 1); 183 $ds2 = substr($domainSecureID, 1, 1); 184 $baseUrl = '//static.zotabox.com'; 185 $code = <<<STRING 186 <script type="text/javascript"> 187 (function(d,s,id){var z=d.createElement(s);z.type="text/javascript";z.id=id;z.async=true;z.src=" {$baseUrl}/{$ds1}/{$ds2}/{$domainSecureID}/widgets.js";var sz=d.getElementsByTagName(s)[0];sz.parentNode.insertBefore(z,sz)}(document,"script","zb-embed-code")); 188 </script> 189 STRING; 190 return $code; 191 }
নিরাপদ থাকতে আপডেট করুন
সবচেয়ে স্বাভাবিক কিন্তু অত্যন্ত গুরুত্বপূর্ণ সেফটি মেজার হলো প্লাগইনের প্যাচ করা ভার্সনে আপডেট করা। FB messenger live chat প্লাগইনটি ভার্সন 1.4.9-এ আপডেট করা হয়েছে। যতটা দ্রুত সম্ভব এই ভার্সনে আপডেট করুন যেকোনো এক্সপ্লয়েটেশন অ্যাটেম্পট মিটিগেট করার জন্য।
আরো, একটি স্ট্রং স্যানিটাইজিং এবং ভ্যালিডেটিং সিস্টেম আপনার ওয়েবসাইটকে XSS এবং CSRF ইত্যাদির মতো কেস থেকে রক্ষা করতে পারে।
একটি বিস্তৃত সিকিউরিটি সলিউশন
সিকিউরিটি কে গ্র্যান্টেড নেওয়া এই সময়ে আপনাকে খুব মacrylate খরচ করবে। আপনার ওয়েবসাইটের জন্য একটি liên tục এবং বিস্তৃত মনিটরিং সিস্টেম থাকলে আপনার ওয়েবসাইট সিকিউর করতে দূর যাবে। Astra WordPress Security Suite-এর মতো সিকিউরিটি সলিউশন, WordPress-এর জন্য টেইলরড, একটি তারনহার হতে পারে। Astra আপনার ওয়েবসাইটের জন্য ফায়ারওয়াল অফার করে, যা XSS, CSRF, ব্যাড বটস, SQLi এবং ১০০+ অন্যান্য সম্ভাব্য আক্রমণের বিরুদ্ধে একটি ব্যারিয়ার তৈরি করে। এখন Astra ডেমো নিন বা এখানে আমাদের সাথে চ্যাট করুন, আমরা আপনাকে সাহায্য করতে খুশি হব।