java——URL跳转

1、URL跳转漏洞

URL重定向漏洞是指当应用程序使用 Java 的内置函数或类来处理 URL 重定向时,如果没有正确地验证输入,则可能允许攻击者构造恶意的 URL 来重定向到恶意网站。这样,攻击者就可以让用户访问恶意网站。

2、常见跳转参数:

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

3、代码实现

URL跳转常见的两种方式:302重定向和301重定向:
(1)301 重定向 - setHeader
http://127.0.0.1:8012/sendHeader?url=https://www.baidu.com

	@RequestMapping("/sendHeader")
    @ResponseBody
    public static void sendHeader(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String url = request.getParameter("url");
        //301重定向
        response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
        response.setHeader("Location",url);
    }

java——URL跳转_第1张图片

(1)302 重定向 - sendRedirect

//http://127.0.0.1:8012/sendRedirect?url=https://www.baidu.com
    @RequestMapping("/sendRedirect")
    @ResponseBody
    public static void sendRedirect(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String url = request.getParameter("url");
        //302重定向
        response.sendRedirect(url);
    }

java——URL跳转_第2张图片

你可能感兴趣的:(java代码审计笔记,java,servlet,开发语言)