未经验证的重定向和转发

未经验证的重定向和转发


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

让我们借助简单的图表了解此漏洞的威胁代理、攻击向量、安全弱点、技术影响和业务影响。

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

预防机制

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

  • 如果不可避免,则应该在重定向目的地时不涉及用户参数的情况下完成。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁