บ่อยครังที่ผมใช้ Software ที่ชื่อว่า wpscan ซึ่งเป็น OpenSource Software สำหรับค้นหาช่องโหว่ หรือ จุดอ่อนของ WordPress ให้กับหน่วยงานและเว็บไซต์ส่วนตัวของผมเองและสิ่งที่น่าแปลกใจสำหรับการใช้งานครั้งแรก (ของใครหลายๆคน) คือมันสามารถค้นหา username ที่ใช้สำหรับ Login เข้าสู่ระบบของทุก Account ในระบบได้ซึ่งในจุดนี้ก็ถือว่าเป็นอันตรายพอสมควรสำหรับ Webmaster ทั่วๆไปที่มักจะตั้งรหัสผ่านที่ง่ายๆต่อการคาดเดา เช่น 123456 , 123456789 , aaaaaaa , password เป็นต้นซึ่งผมก็เลยถือโอกาสอธิบายที่มาที่ไปว่าเจ้า wpscan นั้นหา username มาจากไหน หากคนไหน hardcore หน่อยก็คงเอา Source Code ที่ทาง wpscan มาแกะเอง ส่วนผมไม่ถนัดภาษา ruby ซักเท่าไร เลยจะดูจากการ GET request ด้วย wireshark แทนแล้วกันครับ ^ ^
ผลงานการหา Username ของ wpscan
หลังจากได้ใช้ wpscan ทดสอบระบบนั้นผมได้เปิด wireshark เพื่อดักจับการ request (HTTP Request) พร้อมทั้งกรองเฉพาะสิ่งที่ผมต้องการ
ip.addr==xxx.xxx.xxx.xxx && http && http.request
(รายละเอียดของการกรองข้อมูลด้วย Wiresharek ผมจะมาเขียนอธิบายให้อีกทีในบทความต่อๆไปนะครับ)
ผมตัดมาเฉพาะส่วนที่เกี่ยวข้องกับเนื้อหาในบทความนี้นะครับ ซึ่งก็คือการค้นหา Username ของ WordPress สิ่งที่ได้มาคือการ GET Request ไปที่
/?author=x
ถ้าทดลองเข้าผ่าน Browser ก็ร้องอ๋อแล้วครับว่ามันได้ username มาจากไหน
ผลลัพท์ที่ผมได้ก็คือเราสามารถหา username ได้จาก 2 ส่วน ทั้งใน header และ content นั่นเองครับ
ค้นหาจาก Header ด้วย PHP แบบง่ายๆ
แต่ในส่วนของ WPSCAN ผมเดาว่าน่าจะเอามาจากใน Content นะครับ
ส่วนใครอยากรู้การทำงานของ Tools ตัวไหนถ้าเอาทางลัดที่สุดก็การดักจับการทำงานนี่แหละครับ ไม่ว่าจะวิธีไหนก็ได้ทั้งนั้นครับ แล้วแต่ความถนัดเลย
ในบทความนี้ไม่ได้มีจุดประสงค์ให้ผู้ที่อ่านนำไปใช้แสวงหาประโยชน์ใน หรือ สร้างความเดือดร้อนให้ชาวบ้านนะครับแต่อยากจะให้คำนึงถึงการตั้งรหัสผ่านให้มีความยากซักนิดนึงเดี๋ยวนี้ รหัสผ่านที่มีความยาว 6-8 ตัวอักษรยังน้อยไปเลยนะครับเพราะสมัยนี้ Tools ในการ Crack หรือ Bruteforce พัฒนาไปไกลมากแล้วครับ ^ ^
** ห้ามนำ Tools ที่เกี่ยวกับ Security ไปใช้ Scan มั่วนะครับเพราะว่าทุกการ Request จะมีการเก็บลง Log File จะมีปัญหาทางด้านกฎหมายตามมาแน่นอนครับถ้าจะศึกษาแนะนำให้จำลองขึ้นมาเองหรือนำไปใช้กับเว็บที่ได้รับอนุญาติเท่านั่นครับ **