根据Session的身份盗取

访客5年前黑客文章1016

一、Session是什么
暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符SessionID来标识用户身份,SessionID一般是加密保存在Cookie中。尽管Cookie也是为了盯梢用户状况,可是Cookie存储在客户端上,Session存储在服务器上。有些网站也会将Session保存在Cookie中,以减轻服务器保护Session的压力。Session在 *** 运用中被称为“会话操控”。
二、Session Hijacking
与盗取用户名、暗码登陆用户帐户的办法有所不同,Session绑架是一种经过盗取用户的SessionID,运用该SessionID登录方针账户的进犯办法。此刻进犯者实际上是运用了方针账户的有用Session。假如SessionID是保存在Cookie中的,则这种进犯能够成为Cookie绑架。
进犯进程如下:
 
session_start();
if (!isset($_SESSION['count'])) {   
  $_SESSION['count'] = 0;
} else {   
  $_SESSION['count']++;
}
echo 'Now Count:'.$_SESSION['count']; 
?>
下面经过一个试验来简略演示Session Hijacking的进程。
此段代码布置在服务器上,功用是在服务器上敞开Session,初始时将$_SESSION['count']置0。当页面完毕后,$_SESSION['count']的值会被主动保存下来,一起在用户浏览器上留下一个包含着SessionID的Cookie。该用户下次再拜访时,会运用该Cookie持续会话,$_SESSION['count']自增,完成简略的计数器功用。
在铲除浏览器一切Cookie的情况下,用Chrome拜访此页面:

多改写几回页面,由于处于同一个Session,计数器的数字会增加。翻开Chrome的开发者东西(F12),查看到SessionID如下,此刻计数器显现为9:

翻开另一个浏览器(此处以Firefox为例,也可换用另一台电脑)拜访session.php,用Firefox插件[Tamper Data]进行抓包。由于两个浏览器处于不同的Session,所以Firefox计数器的初始值为0:

点击“Start Tamper”,再改写一下Firefox的界面,正常情况下计数器应该改写为1。现在咱们要模仿Session绑架的进程,假定经过某种手法盗取到了Chrome的SessionID,而且将Firefox中的SessionID修改为方才盗取到的Chrome中的SessionID,点击确认发送数据:

此刻,Firefox中的计数器直接变成了10,相当于操作了Chrome的Session,对方才的9进行了自增运算:

能够看到,尽管换了浏览器,可是只需获得了SessionID,即可盗取到有用会话。假如替换改写两个浏览器,操作的其实是同一个计数器。由于在服务器看来,客户端传来了相同的SessionID,即可认定为是同一个Session。常见的运用场景有盗取用户登录后的邮箱、博客的SessionID,对用户账户进行不合法登录,盗取隐私信息。
获取SessionID的首要办法:
1) *** 嗅探:在公共上网区域,可经过 *** 嗅探来获取SessionID,常用的一些东西有:Ettercap、Cain & Abel、Dsniff。
2) SessionID猜测:假如SessionID运用非随机的办法发生,则能够经过剖析SessionID的强度(长度、字符集以及均匀信息量),将其核算出来,例如能够运用Burp Suite中的Sequencer模块对会话进行剖析。
3) 客户端进犯:XSS、木马等。
三、 Session Fixation
Session Fixation尽管同为盗用合法用户SessionID的一种办法,可是进犯原理又有所不同。Session Hijacking是进犯者盗取了一个合法的SessionID;Session Fixation是进犯者预先核算一个SessionID,诱运用户运用此SessionID登陆,并使之合法。因而,Session Fixation适用于登陆前后SessionID不发生改变的场景。
进犯进程如下:

下面运用WebGoat下的Session Management Flaws->Session Fixation来演示这一进程:
进犯者给方针用户发送一封邮件,并在链接中刺进预先设定好SessionID:

方针用户收到此邮件后,点开链接而且跳转到登陆界面:

方针用户输入正确的用户名、暗码发送给服务器,服务器即将此用户的Session与进犯者预先设定好的SessionID进行绑定:

[1] [2]  黑客接单网

相关文章

VulnHub挑战赛Pipe解题思路

今日我将给我们演示我是怎么处理VulnHub挑战赛这道名为Pipe标题的。 当然CTF玩的便是思路,这篇文章的思路纷歧定是最好的。只是作为抛砖,欢迎我们在文尾下载这道标题来玩! 枚举 PORT    ...

运用Python检测并绕过Web应用程序防火墙

Web运用防火墙一般会被布置在Web客户端与Web服务器之间,以过滤来自服务器的歹意流量。而作为一名浸透测验人员,想要更好的打破方针体系,就有必要要了解方针体系的WAF规矩。现在,许多WAF都是根据签...

根据Golang打造开源的WAF网关

布景 在互联网职业,Google将安全做到基础设施里边,从来是各大公司学习的典范,在Web方面,经过GFE (Google Front-End) 一致对外发布,事务只需求在GFE挂号,GFE就会调取正...

剪贴板鬼魂瞄准虚拟钱银,出师不利1个月亏本4000万?

一、木马概述 360安全中心近期监控到一类虚拟钱银类木马十分活泼,该木马不断监控用户的剪贴板内容,判别是否为比特币、以太坊等虚拟钱银地址,然后在用户买卖的时分将方针地址修改成自己的地址,悄然施行偷盗,...

我是怎么绕过Uber的CSP防护成功XSS的?

咱们好!在开端正式的内容之前,请答应我做个简略的毛遂自荐。首要,我要阐明的是我不是什么安全研究人员/安全工程师,切当的来说我是一名安全的爱好者,这始于两年前的Uber。我喜爱触摸新的事物,而且每天都在...

运用Subversion完成网站自动更新

Subversion概述     概述     Subversion,简称SVN,是一个开放源代码的版别控制体系,相对于的RCS、CVS,采用了分支办理体系。     网站更新拓扑结构       ...