1. สาเหตุ
หลังจากที่ผู้ใช้เข้าสู่ระบบสำเร็จแต่ละครั้ง เซสชันจะถูกกำหนดใหม่และมีรหัสเซสชันใหม่ หากผู้โจมตีทราบรหัสเซสชันใหม่นี้ ผู้โจมตีจะสามารถเข้าถึงแอปพลิเคชันได้เหมือนกับผู้ใช้ทั่วไป มีหลายวิธีสำหรับผู้โจมตีในการรับรหัสเซสชันและเข้าควบคุมเซสชันของผู้ใช้ เช่น: การโจมตี แบบแทรกกลาง การ สื่อสาร : ดักฟังและขโมยรหัสเซสชันของผู้ใช้ หรือใช้ประโยชน์จาก ข้อผิดพลาด XSSในการเขียนโปรแกรมเพื่อรับรหัสเซสชันของผู้ใช้
2. วิธีการหาประโยชน์
การดมกลิ่นเซสชัน
ดังที่เราเห็นในภาพ อันดับแรก ผู้โจมตีจะใช้เครื่องมือดมกลิ่นเพื่อจับรหัสเซสชันที่ถูกต้องของเหยื่อ จากนั้นเขาใช้รหัสเซสชันนี้เพื่อทำงานกับเว็บเซิร์ฟเวอร์ภายใต้อำนาจของเหยื่อ
การโจมตีด้วยสคริปต์ข้ามไซต์
ผู้โจมตีสามารถรับ รหัสเซสชันของเหยื่อได้โดยใช้โค้ดที่เป็นอันตรายที่ทำงานบนฝั่งไคลเอ็นต์ เช่นJavaScriptหากเว็บไซต์มีช่องโหว่ XSS ผู้โจมตีสามารถสร้างลิงก์ที่มีโค้ด JavaScript ที่เป็นอันตรายและส่งไปยังเหยื่อได้ หากเหยื่อคลิกลิงก์นี้ คุกกี้ของเขาจะถูกส่งไปยังผู้โจมตี
3.วิธีป้องกัน
สามารถใช้วิธีการบางอย่างต่อไปนี้เพื่อป้องกันการแย่งชิงเซสชัน:
- ใช้ HTTPS ในการส่งข้อมูลเพื่อหลีกเลี่ยงการดักฟัง
- ใช้สตริงหรือตัวเลขสุ่มขนาดใหญ่เพื่อจำกัดความสำเร็จของการโจมตีแบบ bruteforce
- สร้าง ID เซสชันใหม่หลังจากการเข้าสู่ระบบของผู้ใช้สำเร็จแต่ละครั้ง เพื่อหลีกเลี่ยงการโจมตี Session Fixation
หวังว่าคุณจะได้รับความรู้เพิ่มเติมหลังจากแต่ละบทเรียนด้วย LuckyTemplates!