未验证的重定向和转发

未验证的重定向和转发,是指系统在进行页面转发和重定向时该重定向或者转发的页面不是系统可信页面,并且重定向或转发前未经安全验证

检测方法:

在请求地址后面拼接恶意地址,如下图中的http://site.top/home为不可信任地址,如果能跳转,则有漏洞

http://xxx/login.jsp?redirectUrl=http://site.top/home

解决方案:

1.不直接从输入中获URL;

2.检查重定向或跳转的目标URL是否为本系统URL;

3.对输入进行过滤。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Eclipse 中实现登录验证可以使用请求转发重定向两种方式。其中,请求转发是指将请求转发给另一个资源进行处理,而重定向是指将请求重定向到另一个资源进行处理。 使用请求转发的方式,可以将用户提交的登录信息传递给后台进行验证,如果验证通过,则将用户重定向到主页;如果验证不通过,则将用户重定向到登录页面重新输入信息。示例代码如下: ```java // 登录验证 if (username.equals("admin") && password.equals("123456")) { // 验证通过,将用户信息存入 session 中 HttpSession session = request.getSession(); session.setAttribute("username", username); // 转发到主页 RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp"); dispatcher.forward(request, response); } else { // 验证不通过,重定向到登录页面 response.sendRedirect(request.getContextPath() + "/login.jsp"); } ``` 使用重定向的方式,可以将用户提交的登录信息传递给后台进行验证,如果验证通过,则将用户重定向到主页;如果验证不通过,则将用户重定向到登录页面重新输入信息。示例代码如下: ```java // 登录验证 if (username.equals("admin") && password.equals("123456")) { // 验证通过,将用户信息存入 session 中 HttpSession session = request.getSession(); session.setAttribute("username", username); // 重定向到主页 response.sendRedirect(request.getContextPath() + "/index.jsp"); } else { // 验证不通过,重定向到登录页面 response.sendRedirect(request.getContextPath() + "/login.jsp"); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值