CDIC 2023

Check Point ค้นพบช่องโหว่เปิดให้ขโมยรหัสผ่านบน eBay แต่ทาง eBay ปฏิเสธที่จะแก้ไข

Check Point ได้ออกมาเปิดเผยถึงการค้นพบช่องโหว่ที่จะช่วยให้สามารถส่ง JavaScript ไปบน eBay และสั่งให้ทำงานบนเครื่องของผู้ใช้งาน eBay รายอื่นๆ ได้ ปัญหานี้อาจนำไปสู่การทำ Phishing และ Data Theft ได้ในอนาคต โดยหลังจากที่ Check Point แจ้งทาง eBay ไปแล้ว eBay ก็ได้ตอบกลับมาว่าจะไม่แก้ไขช่องโหว่นี้ และช่องโหว่นี้ก็ยังคงเปิดให้โจมตีได้จนถึงทุกวันนี้

Credit: Amir Kaljikovic/ShutterStock
Credit: Amir Kaljikovic/ShutterStock

Roman Zaikin นักวิจัยทางด้านความปลอดภัยจาก Check Point เป็นผู้ค้นพบช่องโหว่นี้ โดยการโจมตีช่องโหว่นี้จะใช้เทคนิคที่ไม่เป็นมาตรฐานนักที่มีชื่อว่า “JSF**K” โดยวิธีการโจมตีก็คือต้องเริ่มต้นจากการสร้างร้านค้าบน eBay เสียก่อน จากนั้นก็แทรกโค้ดโจมตีเข้าไปในช่อง Item Description

โดยทั่วไปแล้ว eBay จะทำการห้ามผู้ใช้งานจากการใส่ Script หรือ iFrame ลงไปยังช่อง Item Description ด้วยการกรอง HTML Tags เหล่านี้ออก แต่ถ้าหากใช้วิธีการ JSF**K ผู้โจมตีจะสามารถแทรกโค้ด Javascript ได้ตามต้องการในช่อง Item Description ได้ และอาศัยช่องทางนี้ในการโจมตีนั่นเอง

การกรองช่อง Item Description ของ eBay นั้นใช้วิธีการง่ายๆ ด้วยการดึงข้อมูลที่เป็น Alpha-Numeric ออกจาก Script Tag เท่านั้น ซึ่งวิธีการนี้ไม่ครอบคลุมถึงการตรวจสอบการโจมตีด้วย JSF**K

โค้ดทั่วๆ ไปจะมีหน้าตาแบบนี้ (ภาพประกอบทั้งหมดถัดจากนี้มากจากบล็อกของ Check Point นะครับ)

jsfk01

แต่โค้ดที่เป็นแบบ JSF**K จะมีหน้าตาแบบนี้

jsfk02

และด้วยการแทรก Script แบบนี้เข้าไปก็ทำให้ผู้โจมตีสามารถสร้างหน้า Popup บน eBay ได้อย่างอิสระ และเหยื่อที่เข้ามาในหน้าสินค้าที่วางโค้ดเหล่านี้เอาไว้ก็จะสังเกตได้ยากมากว่านี่คือการโจมตี ทำให้อาจถูก Phishing หรือหลอกดักรหัสผ่านไปได้ง่ายๆ หรือส่ง Malware/Ransomware ไปให้โหลดก็ได้เช่นกัน

jsfk03

ที่น่ากลัวก็คือ eBay บอกว่าจะไม่แก้ไขปัญหานี้เพราะไม่ถือว่าเป็นช่องโหว่ครับ ทั้งๆ ที่ทีมงาน Check Point ได้ Proof of Concept ให้ทางทีม Security ของ eBay ดูและ Bypass ระบบรักษาความปลอดภัยกันตรงๆ จนสำเร็จต่อหน้าต่อตา ทาง Check Point ก็ได้แต่ออกมาบอกว่าหวังว่า eBay จะทำอะไรซักอย่างกับปัญหานี้

 

JSF**K ทำงานอย่างไร

แนวคิดอง JSF**K คือการใช้สัญญลักษณ์ 6 ตัวได้แก่ []()!+ ในการสร้างโค้ดที่ต้องการขึ้นมาจากความยืดหยุ่นของ JavaScript ที่สามารถแปลง Type ของตัวแปรต่างๆ ได้ง่ายๆ และด้วยการอาศัยแนวคิดนี้ก็ทำให้เราสามารถสร้างค่าตัวเลขขึ้นมาจากสัญลักษณ์ 6 ตัวนั้นได้ และนำตัวเลขเหล่านั้นไปประกาศเป็น Array เราก็จะสามารถสร้างตัวอักษรและสัญลักษณ์ต่างๆ ขึ้นมาได้ ถึงแม้จะไม่ครบ 26 ตัว แต่เมื่อนำมาต่อกันก็สามารถนำไปสร้างเป็น Function ต่างๆ เพื่อมาใช้สร้างตัวอักษรและสัญลักษณ์เพิ่ม เพื่อนำมาใช้ในการโจมตีได้

jsfk04

jsfk05

jsfk06

jsfk07

ด้านล่างนี้คือตัวอย่างโค้ด alert(1) นะครับ

jsfk08

ใครสนใจลองอ่านรายละเอียดเต็มๆ ได้จากที่ http://blog.checkpoint.com/2016/02/02/ebay-platform-exposed-to-severe-vulnerability/ เลยนะครับ มีสอนวิธีสร้างตัวอักษรและสัญลักษณ์รวมถึงฟังก์ชั่นต่างๆ ที่ใช้ได้อยู่ค่อนข้างครบ อ่านสนุกดีเหมือนกันครับ และช่วงนี้ใครเข้า eBay ก็ระวังกันหน่อยนะครับ

ด้านล่างนี้เป็นตัวอย่างการโจมตีครับผม

ที่มา: http://blog.checkpoint.com/2016/02/02/ebay-platform-exposed-to-severe-vulnerability/


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

‘ซิสโก้’ กำหนดนิยามใหม่ “การป้องกันความปลอดภัยทางไซเบอร์” ด้วยพอร์ตฟอลิโอ AI ที่หลากหลายและทรงพลัง [Guest Post]

ซิสโก้ ผู้นำด้านระบบเครือข่ายและการรักษาความปลอดภัยระดับองค์กร เปิดตัว Cisco AI Assistant for Security ซึ่งนับเป็นก้าวสำคัญในการทำให้ AI แพร่หลายใน Security Cloud, Unified ของซิสโก้, …

Sangfor Access Secure ทะยานติดอันดับ Frost & Sullivan Frost Radar for SASE 2023

Sangfor Access Secure ได้ทะยานขึ้นสู่การจัดอันดับของ Frost & Sullivan Frost Radar for SASE 2023 เป็นที่เรียบร้อยแล้ว