เนื่องจากการมีอยู่อย่างแพร่หลายของ WordPress แฮกเกอร์จึงพยายามอย่างไม่หยุดยั้งที่จะผ่านปลั๊กอิน WordPress ยอดนิยมทุกตัว เป็นผลให้การเปิดเผยช่องโหว่ในปลั๊กอิน WordPress เกือบจะดูเหมือนเป็นกระบวนการที่ไม่มีวันสิ้นสุด คราวนี้แชทสดของ FB messenger โดย Zotabox ดังนั้น ช่องโหว่ XSS แบบถาวรในแชทสดของ FB Messenger โดย Zotabox จึงถูกเปิดเผย
ปลั๊กอิน WordPress นี้มีการติดตั้งมากกว่า 30,000 รายการตามไดเรกทอรีปลั๊กอิน WordPress อย่างเป็นทางการ จากข้อมูลของ WordPress.org ได้มีการอัปเดตเมื่อวันก่อนด้วยช่องโหว่ที่ได้รับการแก้ไขเวอร์ชันใหม่กว่า 1.4.9
รายละเอียดของช่องโหว่ XSS ในแชทสดของ FB Messenger
ผ่านฟังก์ชัน AJAX ของ WordPress ซึ่งมีหน้าที่ส่งข้อมูลไปยังสคริปต์แล้วรับข้อมูลกลับโดยไม่ต้องโหลดหน้าซ้ำ ฟังก์ชัน 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 }
เนื่องจากช่องโหว่ XSS นี้ในแชทสดของ FB Messenger กระบวนการที่ประสบความสำเร็จก็ได้รับผลกระทบเช่นกัน ปลั๊กอินลงทะเบียน 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 เป็นเวอร์ชัน 1.4.9 . ตรวจสอบว่าคุณอัปเดตเป็นเวอร์ชันนี้โดยเร็วที่สุดเพื่อลดความพยายามในการแสวงหาผลประโยชน์
นอกจากนี้ ระบบการฆ่าเชื้อและการตรวจสอบที่เข้มงวดสามารถป้องกันเว็บไซต์ของคุณจากกรณีต่างๆ เช่น XSS และ CSRF เป็นต้น
โซลูชันความปลอดภัยที่ครอบคลุม
การได้รับความปลอดภัยจะทำให้คุณเสียค่าใช้จ่ายอย่างมากในช่วงเวลาเหล่านี้ การมีระบบตรวจสอบเว็บไซต์ของคุณอย่างต่อเนื่องและครอบคลุมจะช่วยให้เว็บไซต์ของคุณปลอดภัย โซลูชันด้านความปลอดภัย เช่น Astra WordPress Security Suite ซึ่งปรับแต่งมาสำหรับ WordPress อาจเป็นตัวช่วย Astra เสนอไฟร์วอลล์สำหรับเว็บไซต์ของคุณ ซึ่งป้องกัน XSS, CSRF, Bad bots, SQLi และการโจมตีอื่นๆ ที่เป็นไปได้มากกว่า 100 รายการ รับการสาธิต Astra ตอนนี้หรือส่งข้อความถึงเราที่นี่ และเรายินดีที่จะช่วยเหลือ