เมื่อวันที่ 11/08/2009 ได้มีประกาศช่องโหว่ของ wordpress 2.8.3 ซึ่งเป็น version ล่าสุดในขณะนั้นออกมา
เป็นช่องโหว่ที่ใช้ reset admin password แต่ถ้าดูดีๆ แล้ว ช่องโหว่นี้ใช้ได้แค่ก่อกวนเฉยๆ
เพราะ password ใหม่ ก็จะถูกส่งไปยัง email ของ admin ที่เก็บไว้ใน database อยู่ดี
เราไม่สามารถกำหนดเองได้ว่าจะส่งไปให้ email ไหน (ไม่งั้นกระทู้นี้คงไปอยู่ในหมวด VIP ;) )
สำหรับ link ที่ผู้ค้นพบได้ประกาศออกมาก็ตามนี้ครับ
http://lists.grok.org.uk/pipermail/full-di...ust/070137.html
คนไหนอยากอ่านการวิเคราะห์เป็นภาษาไทย และวิธีป้องกันช่องโหว่นี้ ก็กด thank เลย :)
[hide=40]
- ช่องโหว่นี้ทำอะไรได้
[+] ช่องโหว่นี้เป็นการ force ใหม่ wordpress ส่ง password ใหม่ ไปให้ user แรกบน database ที่ไม่ได้มีการร้องขอการเปลี่ยน password ใหม่ (ปกติก็ admin นั่นแหละ)
- ปกติการร้องขอเพื่อเปลี่ยน password จะมีขั้นตอนดังนี้
[+] user ใส่ email หรือ username ลงไปใน form เพื่อร้องขอเปลี่ยน password แล้ว wordpress จะส่ง link สำหรับ reset password ไปให้ทาง email ตัวอย่าง link ที่สงไปจะเป็นดังนี้
http://www.example.com/wordpress/wp-login....cdRQnAi3O2wT0Do
เมื่อเรากด link ดังกล่าว wordpress ก็จะตรวจสอบแล้ว gen password ใหม่ให้เรา
แต่ขั้นตอนการตรวจสอบกลับมีช่องโหว่ขึ้นมาเล็กน้อย
มาดูที่ไฟล์ wp-login.php (เป็นไฟล์ที่ทำให้เกิดช่องโหว่นี้)
Line 307:
[code]
switch ($action) {
.
.
.
.
break;
case 'resetpass' :
case 'rp' :