OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Session劫持与Session-ID的安全长度


分享到
分类 骇客攻防   关键字 JavaScript   发布 ourjs  1425274424134
注意 转载须保留原文链接,译文链接,作者译者等信息。  

Session劫持


Session劫持从Web Session控制机制处发动攻击,通常是对Session令牌管理的剥夺。
因为HTTP通信使用许多不同的TCP连接,Web服务器需要一个方法来识别每个用户的连接。最有用的方法是当一个客户端成功认证后,该Web服务器向该客户端浏览器发送令牌。Session令牌通常由可变长度的字符串组成,并且它可以以不同的方式存储,如在URL中,在HTTP请求的cookie报头中(request header),或在HTTP请求中的其它报头中,或者在HTTP请求的主体中。

Session劫持攻击通过窃取或预测有效的Session令牌来获得未经授权Web服务器访问权限。


示例


例1 Session 代理人劫持

在这个例子中,我们可以看到,第一个攻击者使用代理来捕捉一个有效的Session令牌称为“SessionID”,然后他使用该有效Session令牌获得未经授权的Web服务器访问权限。




例2  跨站点脚本攻击

攻击者可以通过在客户端上运行恶意代码来获取Session令牌。这个例子说明了如何攻击者可以利用XSS攻击窃取Session令牌。如果攻击者发送恶意的JavaScript代码到受害人访问网站中或当受害者点击链接时,JavaScript将运行攻击者的注入脚本。如图中所示,它可以显示当前Sessioncookie的值;使用相同的技术则可能将此Session发送给攻击者。

<SCRIPT>alert(document.cookie);</SCRIPT>



注* 防止Cookie被盗请参见: 提高NodeJS网站的安全性:Web服务器防黑客攻击技巧


Session ID的安全长度


Session ID应至少为128位长,以防止蛮力Session猜测攻击。

在WebLogic中部署中描述到应指定至少给Session ID指定128位的长度。较短的Session ID使应用程序容易遭受蛮力Session猜测攻击。如果攻击者猜测到一个身份验证的用户Session ID,他可以接管用户的Session。

猜测有效Session ID所需时间的预测公式:

(2^B + 1) / (2 * A * S)


其中:

  • B是Session ID的位数(字节位数)
  • A是攻击者可以每秒尝试数
  • S是有效的Session ID数量,及在任何给定时间内被猜到的数目

如果攻击者操纵数千个僵尸计算机,他们可以尝试每秒猜测数万个SessionID这是合理的。如果该网站的人气很高,访问量很大,这种高流量的猜测可能在一段时间内被忽视。

上有效的Session ID是提供给被猜出的数量的下限是有活性的网站上,在任何给定时刻的用户的人数。然而,放弃自己的Session,而不会记录任何用户将增加这个数字。 (这是有一个短期活动Session超时许多很好的理由之一。)

有64个字节位的Session ID。对于一个大型网站,假设攻击者可以每秒尝试10000次的猜测,并且当前存在10000个有效的Session ID。基于这些假设,攻击者成功地猜测到有效Session ID的时间将小于4分钟。

现在假设一个128个字节位的Session ID。同样是一个访问量非常大的网站,攻击者可能会尝试每秒10000次的猜测与可供猜到10000个有效的Session ID。根据这些假设,攻击者在预期的时间内成功地猜出一个合法的Session ID将大于292年。




整理自:

Insufficient Session-ID Length
Session hijacking attack


社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. 将BootstrapJS和AngularJS结合使用以及为什么不用jQuery
  2. 让我们写快速的JavaScript,JS性能优化小窍门
  3. CSS Sprite小图片自动合并工具(NodeJS,Python,Java,Ruby)
  4. 专为控制打印设计的CSS样式
  5. 通过Web Audio API可视化输出MP3音乐频率波形
  6. Oracle发布官方版Node.JS数据库驱动
  7. 服务器端(NodeJS)使用jQuery选择器操作DOM(HTML/XML)
  8. Sortable极小的可拖放排序分组库;支持AngularJS,React,Meteor
  9. 我为什么不再用Compass写CSS(缺点分析)
  10. 使用Node.JS监听文件夹变化
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 骇客攻防
  1. Node.js安全教程:防止阻塞Event Loop的潜在攻击
  2. 避免Node.js中的命令行注入安全漏洞
  3. 提高NodeJS网站的安全性:Web服务器防黑客攻击技巧
  4. 浦发银行,请给我们一个解释!
  5. 你不知道的JavaScript用法,Hacker是这样写JS的
  6. QQ邮箱是如何泄密的:JSON劫持漏洞攻防原理及演练
  7. 为什么谷歌的JSON响应以while(1);开头?
  8. 技术宅黑入扎总Facebook主页 称不得已
  9. 创建高安全性PHP网站的几个实用要点
  10. 谷歌明文存储用户密码 与其交付不如自我保护

 关键字 - JavaScript
  1. 用原生HTML5控件实现输入框自动提示(下拉列表补全)功能
  2. 如何用CSS将select/option文本居中或居右对齐
  3. JavaScript中怪异的地方
  4. 在JavaScript中创建命名空间的几种写法
  5. JavaScript中的继承,构造函数以及new关键字的作用
  6. 纽约时报使用Html5 WebRTC记录访问者IP地址
  7. 正则中test、exec、match的简单区别,以及括号的用法
  8. NativeScript的工作原理:用JavaScript调用原生API实现跨平台
  9. 2015年的JavaScript:Angular之类的框架将被库取代
  10. 少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号