Home Vulnerability อธิบาย ช่องโหว่ WordPress < 4.2 Stored XSS

อธิบาย ช่องโหว่ WordPress < 4.2 Stored XSS

SHARE

บัคนี้ถือว่าเป็นบัคต่อยอดจากบทความที่แล้ว อธิบาย ช่องโหว่ WordPress < 4.1.2 Stored XSS

หลังจาก WordPress ได้ออก version ใหม่เป็น version 4.1.2
เพื่อมาอัพเดทแก้ไขช่องโหว่ cross-site scripting ดังกล่าว

อีตา Jouko Pynnönen (ผู้พบช่องโหว่อันนี้) คงนึกขึ้นได้ว่า
หาก MySQL + truncate มันทำให้สามารถทะลุการตรวจสอบของ wordpress ได้
งั้นนอกจากจะใช้มุข utf8 4byte เพื่อให้ MySQL มัน truncate ก่อนเก็บลง database เนี้ย
การเก็บข้อมูล TEXT ลง database นั้นโดน MySQL กำหนดความยาวไว้ที่ไม่เกิน 64k ตัวอักษร นี่หว่า
(MySQL TEXT type size limit is 64 kilobytes)

แล้วไอ้ตรงที่ user ใช้ comment นั้น wordpress (และอื่นๆ) มันเก็บเป็นแบบ TEXT นี่หว่า !!!

ดังนั้น พี่แกเลยใช้มุข comment ด้วย xss + ตัวอักษรอะไรก็ได้ ให้ยาวกว่า 64k ตัวอักษร
เพื่อที่จะให้ MySQL มัน truncate แล้ว code ที่เป็น xss ก็จะสามารถหลุดเข้าไปได้นั่นเอง
(พี่แก ต่อยอดจากมุขที่แล้วฝุดๆ)

อ่านเนื้อหาแบบเต็มๆ ได้ที่ http://klikki.fi/adv/wordpress2.html