URL跳转与钓鱼

从登录页跳转到另一个页面就叫做URL跳转。

1.URL跳转

  URL跳转一般分为两种,(1)客户端跳转;(2)服务端跳转。对用户来说,两种跳转都是透明的,都是指向或者跳转到另一个页面,页面发生了改变。但对于开发者来说,是有区别的。

  (1)客户端跳转

  客户端跳转也被称为重定向,用户浏览器地址栏的URL会发生明显变化。

  比如:当前页面为http://www.a.com/new.php,当用户点击登录按钮会指向http://www.a.com/login.php,且页面发生变化,这就是客户端跳转。

比如Index.jsp中重定向语句,代码如下:<% response.sendRedirect("x.jsp");%>

 

  当我们在浏览器中打开Index,jsp时,执行到此语句,页面就会发生变化,且URL也会变化,在HTTP协议中表现如下:

  当浏览器请求Index.jsp后,收到302指示(也叫重定向)就会立刻进行跳转,而用户是感受不到的。

 

  (2)服务器端跳转

  服务器端跳转也叫URL转发,服务器端跳转时,用户浏览器的地址栏URL是不会改变的。

  比如:当前页面为http://www.a.com/new.php,当用户点击登录按钮,浏览器地址栏的URL没变,但是页面会发生变化。

 

在java servlet中跳转代码如下:publicvoid doGet(HttpServletRequest request,HttpServletResponse reponse) throws ServletException,IOException{this.doPast(request,response);}public void doPast(HttpServletRequest request,HttpServletResponse respon)throws SerlvetException,IOException{request.getRequestDispatcher("upload.jsp").forward(request,response);}

 

  (3)其他

  还有一些跳转不属于转发,也不属于重定向,而是直接向服务器发送请求

  比如<a>标签

<a href="http://www.a.com/news.jsp">新闻列表</a>

2.钓鱼

网络中的钓鱼指的是钓鱼攻击

  比如:攻击者模拟腾讯网站,或者一些CS架构软件,当用户使用这些软件的时候,攻击者可以截获用户的账号信息。 

  使用URL跳转可以突破钓鱼软件检测系统。

  这类钓鱼软件检测系统在检测是否是钓鱼网站或者恶意系统的时候,检测的是URL,而并非网站的内容。比如,从qq邮箱打开一个URL的时候,会弹出一个网页提示。但并不是所以的网站都会提示,一些知名网站是不可能做钓鱼网站的,所以邮箱就不会拦截,也就是说,当邮箱碰到不认识的网站的时候才会进行提示。

  这样攻击者就可以利用URLt跳转来躲过恶意检测。比如:http://www.baidu.com/page?=http://www.ta0bao.com

 

相关文章