未经验证的重定向和转发

互联网上的大多数网络应用程序经常将用户重定向并转发到其他网页或其他外部网站.但是,如果不验证这些网页的可信度,黑客可以将受害者重定向到网络钓鱼或恶意软件网站,或者使用转发来访问未经授权的网页.

让我们了解威胁代理,攻击媒介,安全弱点,借助简单的图表,这个漏洞的技术影响和业务影响.

unvalidated_redirects_and_forwards

示例

未经验证的重定向和转发的一些经典示例为给定

  • 让我们说应用程序有一个页面 -  redirect.jsp,它接受一个参数 redirectrul .黑客添加了一个恶意URL,重定向用户执行网络钓鱼/安装恶意软件.

 
 http ://www.mywebapp.com/redirect.jsp?redirectrul = hacker.com

  • 所有Web应用程序用于将用户转发到站点的不同部分.为了实现相同的目的,一些页面使用参数来指示如果操作成功则应该将用户重定向到何处.攻击者制作一个URL,通过应用程序的访问控制检查,然后将攻击者转发给攻击者无法访问的管理功能.

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

预防机制

  • 最好避免使用重定向和转发.

  • 如果这是不可避免的,那么在重定向目的地时不应该涉及用户参数.