นักวิจัยด้านความปลอดภัย G.S. McNamara ค้นพบช่องโหว่ภายในฟังก์ชัน CookieStore ที่ใช้ในการจัดการเซสชั่นโดยจะทำการแฮชเซสชั่นดังกล่าวนั้นในรูปแบบของคุกกี้ และไม่มีการเก็บเซสชั่นใดๆ ลงในฐานข้อมูล ซึ่งอาจส่งผลให้ผู้ประสงค์ร้ายสามารถขโมยคุกกี้ได้
เมื่อผู้ใช้ยกเลิกการใช้งานจะมีการส่งคุกกี้ที่มีลักษณะว่างเปล่าไปเพื่อแทนที่คุกกี้เดิมที่ใช้ในการยืนยันเซสชั่น และตามลักษณะการทำงานของเบราว์เซอร์ก็จะใช้คุกกี้ที่ใหม่กว่า แต่ปัญหาอยู่ที่คุกกี้เดิมที่ถูกใช้ในการยืนยันเซสชั่นนั้นยังสามารถใช้งานได้อยู่ โดยการที่จะทำให้คุกกี้เดิมนั้นไม่สามารถใช้งานได้คือการเปลี่ยนรหัสผ่าน หรือในกรณีของผู้พัฒนาคือการเปลี่ยนรหัสลับของแอพพลิเคชันตามค่าเริ่มต้นของเรลส์ เมื่อผู้ประสงค์ร้ายสร้างการโจมตีในรูปแบบ Session hijacking หรือ XSS เพื่อทำการดรอปการเชื่อมต่อที่จะส่งคุกกี้ว่างเปล่าไปแทน และขโมยคุกกี้ที่สามารถใช้งานได้มาได้ ผลจากช่องโหว่จะทำให้ผู้ประสงค์ร้ายสามารถเข้าถึงบัญชีผู้ใช้งานได้โดยตรง
แม้ว่าเรลส์เวอร์ชัน 4.0 จะมีการเข้ารหัสคุกกี้แล้วแต่ McNamara อ้างว่ามันยังไม่ได้ผลดีเท่าไหร่นัก โดยเขาแนะนำให้เปลี่ยนไปใช้ ActiveRecordStore หรือฟังก์ชันอื่นๆ ที่มีการใช้ชื่อ session_id
แทนชื่อของแอพพลิเคชัน และมีการเก็บเซสชั่นไว้บนฐานข้อมูล แม้อาจจะดูยุ่งยากแต่สามารถเพิ่มความปลอดภัยได้มากกว่า
ที่มา - MaverickBlogging via Threatpost
Comments
โหยยยยยยยยยยย นั่ง(ออโต้)คลิ๊กตั้งนาน จะมาขโมยกันได้ไง !!!!
ระวังคุณย่าแปลงร่างนะครับ
ดีนะผมชอบกินโดนัท
อ่านแล้วดูกรุบกรอบ
น่าอร่อยนะครับ
ต่อไปจะไม่เอาคุกกี้มากินตอน Dev RoR แล้ว