การเปลี่ยนเส้นทางและการส่งต่อที่ไม่ถูกต้อง

เว็บแอปพลิเคชันส่วนใหญ่บนอินเทอร์เน็ตมักเปลี่ยนเส้นทางและส่งต่อผู้ใช้ไปยังหน้าอื่นหรือเว็บไซต์ภายนอกอื่น ๆ อย่างไรก็ตามหากไม่มีการตรวจสอบความน่าเชื่อถือของหน้าเหล่านั้นแฮ็กเกอร์สามารถเปลี่ยนเส้นทางเหยื่อไปยังไซต์ฟิชชิงหรือมัลแวร์หรือใช้การส่งต่อเพื่อเข้าถึงเพจที่ไม่ได้รับอนุญาต

ขอให้เราเข้าใจตัวแทนภัยคุกคามผู้โจมตีจุดอ่อนด้านความปลอดภัยผลกระทบทางเทคนิคและผลกระทบทางธุรกิจของข้อบกพร่องนี้ด้วยความช่วยเหลือของแผนภาพง่ายๆ

ตัวอย่าง

ตัวอย่างคลาสสิกบางส่วนของ Unvalidated Redirects and Forward มีดังที่ระบุ -

  • ให้เราบอกโปรแกรมประยุกต์ที่มีหน้า - redirect.jsp ซึ่งใช้พารามิเตอร์redirectrul แฮ็กเกอร์เพิ่ม URL ที่เป็นอันตรายซึ่งเปลี่ยนเส้นทางผู้ใช้ซึ่งทำการฟิชชิง / ติดตั้งมัลแวร์

http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
  • เว็บแอปพลิเคชันทั้งหมดใช้เพื่อส่งต่อผู้ใช้ไปยังส่วนต่างๆของไซต์ เพื่อให้บรรลุผลเช่นเดียวกันบางเพจใช้พารามิเตอร์เพื่อระบุตำแหน่งที่ผู้ใช้ควรถูกเปลี่ยนเส้นทางหากการดำเนินการสำเร็จ ผู้โจมตีสร้าง URL ที่ผ่านการตรวจสอบการควบคุมการเข้าถึงของแอปพลิเคชันจากนั้นส่งต่อผู้โจมตีไปยังฟังก์ชันการดูแลระบบซึ่งผู้โจมตีไม่สามารถเข้าถึงได้

http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp

กลไกการป้องกัน

  • หลีกเลี่ยงการใช้การเปลี่ยนเส้นทางและส่งต่อจะดีกว่า

  • หากหลีกเลี่ยงไม่ได้ก็ควรทำโดยไม่เกี่ยวข้องกับพารามิเตอร์ของผู้ใช้ในการเปลี่ยนเส้นทางปลายทาง