Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยของเครือข่าย

ปลั๊กอินคำยินยอมคุกกี้ GDPR เสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม | อัพเดทตอนนี้

ปลั๊กอินความยินยอมคุกกี้ WordPress GDPR ซึ่งอำนวยความสะดวกในการปฏิบัติตาม GDPR อย่างง่ายสำหรับผู้ใช้ พบว่ามีความเสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม ช่องโหว่นี้สามารถนำไปสู่ช่องโหว่ที่ร้ายแรง เช่น การยกระดับสิทธิ์และการจัดเก็บ XSS ในเว็บไซต์ ปลั๊กอินความยินยอมคุกกี้ GDPR ถูกใช้อย่างแข็งขันบนเว็บไซต์ WordPress มากกว่า 700,000 เว็บไซต์ในขณะที่เขียนสิ่งนี้

ปลั๊กอินคำยินยอมคุกกี้ GDPR เสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม | อัพเดทตอนนี้

ปลั๊กอินคำยินยอมคุกกี้ GDPR เสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม | อัพเดทตอนนี้

ไทม์ไลน์ของช่องโหว่

  • รายงานเมื่อ – 4 ก.พ. 2020
  • แก้ไขวันที่ – 10 ก.พ. 2020
  • เวอร์ชันที่ได้รับผลกระทบ – เวอร์ชันทั้งหมด <=1.8.2
  • แพทช์เวอร์ชัน – 1.8.3

ช่องโหว่นี้ถูกรายงานไปที่ wordpress.org ก่อน โพสต์ซึ่งปลั๊กอินถูกลบชั่วคราวจากที่เก็บ WordPress WordPress ยกเลิกการแบนจากปลั๊กอินทันทีที่มีแพตช์ในวันที่ 10 กุมภาพันธ์

ใครก็ตามที่อยู่ใน เวอร์ชัน <=1.8.2 สามารถแฮ็กได้ . ดังนั้นให้อัปเดตเป็น เวอร์ชันที่แก้ไขแล้ว =1.8.3 โดยเร็วที่สุด

ทำความเข้าใจช่องโหว่ของปลั๊กอิน GDPR

ช่องโหว่อยู่ใน cli_policy_generator ใน --construct method. cli_policy_generator ซึ่งดำเนินการผ่าน WordPress AJAX API – ajax_policy_generator ขาดการตรวจสอบความสามารถที่สำคัญ เนื่องจากแม้ว่าโค้ด nonce จะถูกส่งผ่าน AJAX จะไม่ได้รับการยืนยันในเฟรมเวิร์ก PHP ทั้งหมด

ในทางกลับกัน ajax_policy_generator อนุญาตให้ดำเนินการสามอย่าง:autosave_contant_data, save_contentdata, และget_policy_pageid .

การกระทำสองอย่างนี้ – บันทึกอัตโนมัติ_contant_data, save_contentdata มีความอ่อนไหวต่อการโจมตี ในขณะที่ autosave_contant_data สามารถนำไปสู่การยกระดับสิทธิ์ แต่ save_contentdata สามารถนำไปสู่ ​​XSS ที่เก็บไว้ได้

ช่องโหว่ใน save_contentdata

save_contentdata ของ cli_policy_generator อนุญาตให้บันทึกคุกกี้ GDPR เป็นประเภทโพสต์ของหน้า การใช้ประโยชน์จากผู้ใช้ที่ตรวจสอบสิทธิ์ที่มีสิทธิ์ต่ำที่สุดเท่าที่สมาชิกสามารถเปลี่ยนสถานะโพสต์ได้ ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสามารถเผยแพร่โพสต์หรือย้ายโพสต์ที่เผยแพร่ไปยังฉบับร่างได้ หรือแย่กว่านั้น ให้ย้ายทั้งเว็บไซต์ไปร่างเป็นเหตุให้ล่ม

public function save_contentdata()
{
   $out=array(
      'response'=>true,
      'er'=>''
   );
   $content_data=isset($_POST['content_data']) ? $_POST['content_data'] : array();
   $page_id=(int) isset($_POST['page_id']) ? $_POST['page_id']*1 : 0;
   $enable_webtofee_powered_by=(int) isset($_POST['enable_webtofee_powered_by']) ? $_POST['enable_webtofee_powered_by']*1 : 0;
   $id=wp_insert_post(
      array(
         'ID'=>$page_id, //if ID is zero it will create new page otherwise update
         'post_title'=>'Cookie Policy',
         'post_type'=>'page',
         'post_content'=>Cookie_Law_Info_Cli_Policy_Generator::generate_page_content($enable_webtofee_powered_by,$content_data,0),
         'post_status' => 'draft', //default is draft
      )
   );
   if(is_wp_error($id))
   {
      $out=array(
         'response'=>false,
         'er'=>__('Error','cookie-law-info'),
         //'er'=>$id->get_error_message(),
      );
   }else
   {
      Cookie_Law_Info_Cli_Policy_Generator::set_cookie_policy_pageid($id);
      $out['url']=get_edit_post_link($id);
   }
   return $out;
}

ช่องโหว่ในการบันทึกอัตโนมัติ_contant_data

autosave_constant_data จะบันทึกคุกกี้ GDPR ชั่วคราวใน cli_pg_content_data ในขณะที่ผู้ดูแลระบบยังคงแก้ไขอยู่

เนื่องจากไม่มีการตรวจสอบความถูกต้องใน cli_pg_content_data ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วสามารถแทรกโค้ด JavaScript ที่เป็นอันตรายในเว็บไซต์ด้วยปลั๊กอินคำยินยอมคุกกี้ GDPR

public function autosave_contant_data()
{
   global $wpdb;
   $scan_table=$wpdb->prefix.$this->main_tb;
   $out=array(
      'response'=>true,
      'er'=>''
   );
   $content_data=isset($_POST['content_data']) ? $_POST['content_data'] : array();
   $page_id=isset($_POST['page_id']) ? $_POST['page_id'] : '';
   $enable_webtofee_powered_by=(int) isset($_POST['enable_webtofee_powered_by']) ? $_POST['enable_webtofee_powered_by']*1 : 0;
   if(is_array($content_data))
   {
      $content_html=Cookie_Law_Info_Cli_Policy_Generator::generate_page_content($enable_webtofee_powered_by,$content_data);
      update_option('cli_pg_content_data',$content_html);
   }else
   {
      $out=array(
         'response'=>false,
         'er'=>__('Error','cookie-law-info')
      );
   }
   return $out;
}

แพทช์พร้อมใช้งานแล้ว! อัปเดตเลย

อัปเดตเป็นเวอร์ชันล่าสุด 1.8.3 และไฟร์วอลล์ปกป้องเว็บไซต์ของคุณ

ไฟร์วอลล์ Astra ปกป้องเว็บไซต์ของคุณจากการโจมตี เช่น XSS, SQLi, CSRF, LFI, RFI, สแปม, บอทที่ไม่ดี, OWASP Top 10 และอื่นๆ การเริ่มต้นใช้งาน Astra นั้นง่ายมาก นี่คือวิธีการ:

  • เลือกแผนและลงทะเบียน
  • ติดตั้ง Astra โดยทำตามขั้นตอนแบบบริการตนเองสองสามขั้นตอน (ใช้เวลา<5 นาที)

นั่นคือทั้งหมด Astra Firewall ปกป้องคุณจากการโจมตีที่อาจเข้ามาหาคุณ ตอนนี้คุณสามารถตรวจสอบเว็บไซต์ของคุณได้จากแดชบอร์ดของ Astra

ปลั๊กอินคำยินยอมคุกกี้ GDPR เสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม | อัพเดทตอนนี้

ปลั๊กอินคำยินยอมคุกกี้ GDPR เสี่ยงต่อการควบคุมการเข้าถึงที่ไม่เหมาะสม | อัพเดทตอนนี้

ยังไม่แน่ใจ? รับการสาธิต Astra จากที่นี่

หากคุณมีคำถามใด ๆ เพื่อขอความคิดเห็นด้านล่างหรือส่งข้อความถึงเรา เราสัญญาว่าจะตอบกลับ 🙂