其他漏洞 - URL重定向

  URL重定向:由于服务端未对传入的跳转地址进行检查和控制,从而导致攻击者可以构造任意一个恶意地址诱导用户跳转至恶意站点。因为是从用户可信站点跳转出去的,用户会比较信任该站点,所以URL跳转漏洞常用于钓鱼攻击、通过转到攻击者精心构造的恶意网站来欺骗用户输入信息,从而盗取用户的账号和密码等敏感信息
  漏洞场景:登录/登出/注销/错误页面跳转、OAuth第三方登录回调、文件下载,从黑盒的角度上来讲,遇到http(s)://的链接都可以进行Fuzz测试

漏洞场景:基于Spring MVC的重定向方式

  • redirect
  • ModelAndView
tips
状态码:
  301:请求的资源已永久移动到新位置
      使用场景:页面永久性迁移
      SEO影响:将旧URL的权重传递给新URL
  302:请求的资源临时位于不同位置
      使用场景:资源临时迁移或负载均衡
      SEO影响:不传递权重,适用于临时重定向

缺陷代码

漏洞场景:基于Servlet标准的重定向方式

  • setHeader
  • sendRedirect
tips
代码审计SINK点:
	redirect、url、redirectUrl、callback、return_url、toUrl、ReturnUrl
fromUrl、redUrl、request、redirect_to、redirect_url、jump、jump_to
target、to、goto、link、linkto、domain、oauth_callback

缺陷代码

漏洞场景:基于Spring注解和状态码的重定向方式

  • responseEntityRedirect
  • annotationRedirect
tips
   URL跳转的本质是在服务器端将用户请求的数据进行一次转发,请求可以被重新定向到另一个 URL。这种操作可以分为两种主要类型:服务器端转发和客户端重定向

缺陷代码