未经验证的重定向和转发
互联网上的大多数 Web 应用程序经常将用户重定向和转发到其他页面或其他外部网站。但是,如果不验证这些页面的可信度,黑客就可以将受害者重定向到钓鱼或恶意软件网站,或使用转发访问未经授权的页面。
让我们借助简单的图表了解此漏洞的威胁代理、攻击媒介、安全漏洞、技术影响和业务影响。
示例
以下是未经验证的重定向和转发的一些经典示例 −
假设应用程序有一个页面 - redirect.jsp,它接受一个参数 redirectrul。黑客添加恶意 URL,重定向用户,执行网络钓鱼/安装恶意软件。
http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
所有 Web 应用程序都用于将用户转发到网站的不同部分。为了实现相同的目的,一些页面使用参数来指示如果操作成功,用户应该被重定向到哪里。攻击者精心设计一个通过应用程序访问控制检查的 URL,然后将攻击者转发到攻击者无权访问的管理功能。
http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp
预防机制
最好避免使用重定向和转发。
如果无法避免,则应在重定向目标时不涉及用户参数。