URL中允许携带sessionid带来的安全隐患。

简介:

 很多WEB开发语言为了防止浏览器禁止了cookie而无法识别用户,允许在URL中携带sessionid,这样虽然方便,但却有可能引起钓鱼的安全漏洞。

 

图示:

   下图是从测试组发来的安全报告中剪出来的,图有些小问题,本来想重画1个,在visio中没找到合适的图。所以只能用别人的图了。

       2010082317154179.jpg

 

说明:   

  让我们对上图的步骤进行详细说明:   

  1. 黑客用自己的帐号登录,假设登录页面是:http://www.abc.com/login.jsp   

  2. 服务器返回登录成功。   

  3. 黑客从cookie中查看自己的sessionid,比如是1234   

  4. 黑客把带自己sessionid的地址发送给一般用户。http://www.abc.com/login.jsp;jsessionid=1234(不同的语言带sessionid的方式不一样,着是jsp的方式)   

  5. 用户在黑客给的地址中用自己的帐号进行登录,登录成功。(这个时候用户登录的信息就会覆盖黑客之前的登录信息,而且2个人用的是同1个sessionid)   6. 黑客刷新页面,看到的账户信息就是用户的信息了,而不是之前黑客自己帐号的信息。

 

防治:  

  要防止这种问题,其实也很简单,只要在用户登录时重置session(session.invalidate()方法),然后把登录信息保存到新的session中。

 

后语:  

  可能你跟我一样,刚开始看到这个时候,就自己去测试到底能不能钓鱼成功,经过我的测试是可以成功的,但测试过程中需要注意下面几个问题:  

  1. 要注意你使用的语言是如何在URL中带sessionid。(我测试的时候开始在URL中使用大写的jsessionid,导致一直不起效)    

  2. 要http://www.abc.com/login.jsp;jsessionid=1234页面登录表单的action也带上了jsessionid,不然也没用。对于这个问题你可能觉得如果login.jsp表单的action是写死,而不是读取当前URL的,     可能就不会出现这个钓鱼问题。这只能防住1个方向。黑客可以做1个和login.jsp一模一样的页面(比如http://www.abc1.com/login.jsp),然后把这个地址发个客户,而这个地址中的表单这样写就可以:   <form action="http://www.abc.com/login.jsp;jsessionid=1234" ....













本文转自BearRui(AK-47)博客园博客,原文链接:  http://www.cnblogs.com/BearsTaR/archive/2010/08/24/URL_SESSION_ID_LEEK.html  ,如需转载请自行联系原作者


相关文章
|
12月前
|
小程序 前端开发 PHP
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
PHP实现生成小程序二维码带参数进入指定页面、小程序URL scheme实现携带数据跳转小程序
201 0
|
11月前
|
编解码 安全 Java
互联网并发与安全系列教程(10) -基于URL转码方式实现API设计
互联网并发与安全系列教程(10) -基于URL转码方式实现API设计
52 0
|
5月前
|
安全 前端开发 网络安全
URL提示不安全
URL提示不安全
109 0
|
12月前
|
人工智能 移动开发 小程序
URL scheme实现携带数据打开小程序
URL scheme实现携带数据打开小程序
175 0
|
JSON 安全 关系型数据库
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
php传递url参数加密验证的解决方案(加密解密、安全验证过滤)
372 0
|
安全 PHP 数据安全/隐私保护
【WEB安全】任意URL跳转
1.1. 漏洞介绍 URL跳转漏洞(URL Redirection Vulnerability)又叫开放重定向漏洞(Open Redirect Vulnerability),是一种常见的网络安全漏洞,它存在于许多网站和应用程序中。该漏洞的根本原因是没有对用户提供的URL进行充分的验证和过滤,导致攻击者可以通过构造恶意URL,将用户重定向到任意的网站或应用程序中。 1.2. 漏洞危害
467 0
|
安全
pikachu靶场通过秘籍之不安全的URL跳转漏洞攻击
pikachu靶场通过秘籍之不安全的URL跳转漏洞攻击
130 0
|
人工智能 移动开发 算法
URL scheme实现携带数据打开小程序
✨✨欢迎订阅本专栏或者关注我,大家一起努力每天一题算法题✨✨❤️❤️❤️ 最后,希望我的这篇文章能对你的有所帮助!愿自己还有你在未来的日子,保持学习,保持进步,保持热爱,奔赴山海!❤️❤️❤️。
199 0
URL scheme实现携带数据打开小程序
|
JavaScript
通过JS获取URL携带的参数
通过JS获取URL携带的参数
136 0
URL里面携带了#是什么意思
URL里面携带了#是什么意思
399 0
URL里面携带了#是什么意思
下一篇
无影云桌面